Как исправить, conn.postTransactionCommit (tx), «400 Bad Error» в ответ? - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь опубликовать транзакцию в BigchainDB (тестовая сеть). Но это дает мне ответ следующим образом:

{
  message: 'HTTP Error: Requested page not reachable',
  status: '400 BAD REQUEST',
  requestURI: 'https://test.bigchaindb.com/api/v1/transactions?mode=commit'
}

Вот как я могу опубликовать транзакцию:

conn.postTransactionCommit(txTransferBobSigned)
  .then(res => {
    console.log(res);
  })
  .catch(err => {
    console.log(err)
  })

Вот как я готовлю транзакцию:

const txTransferBob = driver.Transaction.makeTransferTransaction(
  // signedTx to transfer and output index
  [{ tx: txCreateAliceSimpleSigned, output_index: 0 }],
  [driver.Transaction.makeOutput(driver.Transaction.makeEd25519Condition(bob.public))],
  { price: '100 Euros' }
);

И вот как я подписываю транзакцию:

var txTransferBobSigned = driver.Transaction.signTransaction(txTransferBob, alice.private);

Также вот как выглядит моя подписанная транзакция:

{id:"507186bb75bfe89c244290ac9e11db9e8bc97cf797a2270aa6293042436e3fda",operation:"TRANSFER",outputs:[{condition:{details:{type:"ed25519-sha-256",public_key:"9fuQDKaHk2M5CKHcXpXc6n7eYgZ4pVKhuY2kLdmq4oyt"},uri:"ni:///sha-256;fDMKa1W90-WuMI9BwHQC--AVWmLsv4ZCXMMV2VTqddc?fpt=ed25519-sha-256&cost=131072"},amount:"1",public_keys:["9fuQDKaHk2M5CKHcXpXc6n7eYgZ4pVKhuY2kLdmq4oyt"]}],inputs:[{fulfillment:"pGSAIFz8zOXXf3iBI5rikpfgoC33xgQ3pIFXYrMrnKX9TrQVgUDTLTkkLoi6oGuuLChcDN_3hFpUJ5dn-4XgYVBHMgfrr1Zkn8tIKw9Ppoyp87vH_E9Et_v0eOQsmQfThw-sTckO",fulfills:{output_index:0,transaction_id:"740ee2dbd6641e048c76ef5f07d034a0f326afba105865bac5b7b17215b8bb44"},owners_before:["3GxRGM6RpNsuy9HVWEWWeHhkdq2CLQg7tKAqYKtVQXDw"]}],metadata:{price:"100 Euros"},asset:{id:"740ee2dbd6641e048c76ef5f07d034a0f326afba105865bac5b7b17215b8bb44"},version:"2.0"}

Дополнительная информация: Хотя я могу успешно создать пару открытых / закрытых ключей, создать цифровой актив, подписать его и запросить ресурсы и метаданные, postTransactionCommit - единственный, который не работает. Я понимаю, что статус 400 означает, что что-то не так с данными, которые я предоставляю функции, но я не могу понять это.

...