Использование Node «require» внутри смарт-контракта Hyperledger Composer - PullRequest
2 голосов
/ 12 мая 2019

Использование узла требует внутри смарт-контракта Hyperledger Composer

Я хочу знать, возможно ли использовать пакеты npm / node внутри логики приложения бизнес-сети Hyperledger Composer.

Мое требование: яУ меня зашифрованное строковое значение, поступающее со стороны клиента во время вызова транзакции.

Я попытался использовать криптопакет базового узла следующим образом в BNA,

lib/script.js

/**
 * @param{com.abc.farm.CreateNewFarmData} farmData 
 * @transaction 
 */

const crypto = require('crypto');

function createFarmData(farmData) {
    const algorithm = 'aes-256-cbc';
        const key = crypto.randomBytes(32);
    // other decryption releted codes
}

Но как только я разверну это,Я получаю следующую ошибку в журнале одноранговых узлов:

Calling chaincode Invoke() returned error response [ReferenceError: require is not defined]. Sending ERROR message back to peer 

Что касается: https://github.com/hyperledger/composer/issues/3854, который мы не можем использовать внутри бизнес-логики require.Если это так, я хотел бы узнать мои варианты расшифровки сообщений, которые я получаю.

Версия Composer: v0.20.4

Версия Hyperledger: 1.2.1

...