Hyperledger Sawtooth: процессор транзакций в Javascript - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь реализовать процессор транзакций в javascript SDK на основе следующего примера

https://github.com/hyperledger/sawtooth-core/blob/master/sdk/examples/intkey_javascript/index.js

Вот мой код для запуска процессора транзакций в javascript SDK

//validator public key
const validatorAddress = '024c512a6d66917d7d00f52fa299a88594915dab27bddbcd2a80154984d7948c3c';

const IntegerKeyHandler = require('./handler');

const startProcessor = function startProcessor(){

    const transactionProcessor = new TransactionProcessor(validatorAddress);

    transactionProcessor.addHandler(new IntegerKeyHandler())

    transactionProcessor.start()

}

Но я получаю неверную ошибку аргумента

Ошибка: неверный аргумент at export.Socket.Socket.connect (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/zeromq/lib/index.js:510:13) в Stream.connect (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/sawtooth-sdk/messaging/stream.js:85:18) в TransactionProcessor.start (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/sawtooth-sdk/processor/index.js:72:18) в Object.startProcessor (/var/accubits-workspace/hypeerledger-sawtooth/tuts/helpers/transaction-processor.js:15:26) в app.get (/var/accubits-workspace/hypeerledger-sawtooth/tuts/index.js:62:26) в Layer.handle [as handle_request] (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/express/lib/router/layer.js:95:5) в следующем (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/express/lib/router/route.js:137:13) в Route.dispatch (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/express/lib/router/route.js:112:3) в Layer.handle [as handle_request] (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/express/lib/router/layer.js:95:5) по адресу /var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/express/lib/router/index.js:281:22

1 Ответ

0 голосов
/ 02 июля 2018

Измените адрес валидатора на URL валидации, который может быть либо tcp://validator:4004, либо tcp://localhost:4004

Вот полный код:

'use strict'

const { TransactionProcessor } = require('sawtooth-sdk/processor')
const IntegerKeyHandler = require('./integer_key_handler')

const address = 'tcp://validator:4004' // If you are not running it inside docker container then change the address to this tcp://localhost:4004

const transactionProcessor = new TransactionProcessor(address);

transactionProcessor.addHandler(new IntegerKeyHandler());

transactionProcessor.start();
...