Собственный API не доступен во время выполнения.Hyperledger Composer - PullRequest
0 голосов
/ 14 ноября 2018

Получить полный журнал конкретного участника. Я следовал инструкции из этого ответа

и ниже код. Вызывает ошибку в Composer Playground, так как Собственный API недоступен во время выполнения в Интернете

async function participantHistory(tx) {

    const partId = tx.tradeid;
    const nativeSupport = tx.nativeSupport;
    // const partRegistry = await getParticipantRegistry('org.example.trading.Trader')

    const nativeKey = getNativeAPI().createCompositeKey('Asset:org.example.trading.Trader', [partId]);
    const iterator = await getNativeAPI().getHistoryForKey(nativeKey);
    let results = [];
    let res = {done : false};
    while (!res.done) {
        res = await iterator.next();

        if (res && res.value && res.value.value) {
            let val = res.value.value.toString('utf8');
            if (val.length > 0) {
               console.log("@debug val is  " + val );
               results.push(JSON.parse(val));
            }
        }
        if (res && res.done) {
            try {
                iterator.close();
            }
            catch (err) {
            }
        }
    }
    var newArray = [];
    for (const item of results) {
            newArray.push(getSerializer().fromJSON(item));
    }
    console.log("@debug the results to be returned are as follows: ");

    return newArray; // returns something to my NodeJS client (called via REST API)
}

Это также упоминается в документации Вызов API-интерфейсов Hyperledger Fabric в функциях процессора транзакций

Пожалуйста, помогите, как использовать этот getNativeAPI.

...