Hyperledger Sawtooth: Processeur de transaction en Javascript

J’essaie d’implémenter un processeur de transaction dans un SDK javascript basé sur l’exemple suivant

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

Voici mon code pour exécuter un processeur de transaction dans le SDK javascript

//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() } 

Mais j’obtiens une erreur d’argument invalide

Erreur: argument non valide dans exports.Socket.Socket.connect (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/zeromq/lib/index.js:510:13) dans 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 / processing / index.js: 72: 18) sur Object.startProcessor (/var/accubits-workspace/hypeerledger-sawtooth/tuts/helpers/transaction-processor.js:15:26) sur app.get (/ var / accubits-workspace / hypeerledger-sawtooth / tuts / index.js: 62: 26) dans Layer.handle [as handle_request] (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/express/lib/router/layer/layer.js:95: 5) at next (/var/accubits-workspace/hypeerledger-sawtooth/tuts/node_modules/express/lib/router/route.js:137:13) sur 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) dans / var / accubits-workspace / hypeerledger-sawtooth / tuts / node_modules / express / lib / routeur / index.js: 281: 22

Remplacez l’adresse du validateur par l’url de la validation, qui peut être tcp://validator:4004 ou tcp://localhost:4004

Voici le code complet:

 'use ssortingct' 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();