We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When i submit signed transaction i got error
{ code: 'InvalidContent', message: 'Invalid witness' }``
`const Wallet = require('cardano-wallet'); const axios = require('axios');
(async () => {
const MNEMONICS = "bottom stone xxxx xxxx xxx xxxx tourist finish xxx trend xxx xxxxxx"; let settings = Wallet.BlockchainSettings.mainnet(); let entropy = Wallet.Entropy.from_english_mnemonics(MNEMONICS); let wallet = Wallet.Bip44RootPrivateKey.recover(entropy); let account = wallet.bip44_account(Wallet.AccountIndex.new(0 | 0x80000000)); let account_public = account.public(); let chain_prv = account.bip44_chain(false); let key_prv = chain_prv.address_key(Wallet.AddressKeyIndex.new(0)); // console.log('address public ' + key_prv.to_hex()); let chain_pub = account_public.bip44_chain(false); let key_pub = chain_pub.address_key(Wallet.AddressKeyIndex.new(0)); // console.log('address public ' + key_pub.to_hex()); let address = key_pub.bootstrap_era_address(settings); console.log("Address m/bip44/ada/'0/0/0", address.to_base58()); // Building a transaction let transaction_builder = new Wallet.TransactionBuilder(); let trx = await axios.get('https://cardanoexplorer.com/api/addresses/summary/Ae2tdPwUPEZKfa3EfkEhj9K1jyxUhkuxYaG1SAVFyD3KzrfLBgwaRV11zc1'); // console.log('Inputs:', trx.data.Right.caTxList[0].ctbInputs,'\nOutputs:',trx.data.Right.caTxList[0].ctbOutputs, '\nInputs Total:', trx.data.Right.caTxList[0].ctbInputSum.getCoin/1000000); console.log(trx.data.Right.caTxList.length) var trxResult = []; for (let i = 0; i < trx.data.Right.caTxList.length; i++) { // console.log(trx.data.Right.caTxList[i].ctbId); trxResult.push(trx.data.Right.caTxList[i].ctbId); } // console.log(trxResult); const inputs = [ // { pointer: { id: inputResult[2], index: 2 }, value: 1 }, // { pointer: { id: inputResult[1], index: 1 }, value: 1 }, { pointer: { id: trxResult[0], index: 0 }, value: 5 } ]; // console.log(inputs); const outputs = [ // TODO: you can test the balance by changing the value here. { address: "Ae2tdPwUPEZCNHvZbqWhKmeHPxzvZxrnwJZghsm16Vjrzd8DriLn9jCarpr", value: "1000000" } ]; for (let index = 0; index < inputs.length; index++) { const pointer = Wallet.TxoPointer.from_json(inputs[index].pointer); const value = Wallet.Coin.from(inputs[index].value, 0); transaction_builder.add_input(pointer, value); } console.log("all inputs set...", transaction_builder.get_input_total().to_str()); for (let index = 0; index < outputs.length; index++) { const txout = Wallet.TxOut.from_json(outputs[index]); transaction_builder.add_output(txout); } console.log("all outputs set...", transaction_builder.get_output_total().to_str()); // verify the balance and the fees: const fee_algorithm = Wallet.LinearFeeAlgorithm.default(); const balance = transaction_builder.get_balance(fee_algorithm); if (balance.is_negative()) { console.error("not enough inputs, ", balance.value().to_str()); throw Error("Not enough inputs"); } else { if (balance.is_zero()) { console.info("Perfect balance no dust", balance.value().to_str()); } else { console.warn("Loosing some coins in extra fees: ", balance.value().to_str()); } } let transaction = transaction_builder.make_transaction(); // console.log("unsigned transaction built", transaction); let transaction_finalizer = new Wallet.TransactionFinalized(transaction); // console.log("transaction finalizer built", transaction_finalizer); for (let index = 0; index < inputs.length; index++) { const witness = Wallet.Witness.new_extended_key( settings, key_prv, transaction_finalizer.id() ); transaction_finalizer.add_witness(witness); console.log("signature ", index, "added"); } // at this stage the transaction is ready to be sent const signed_transaction = transaction_finalizer.finalize(); console.log("ready to send transaction: ", signed_transaction.to_hex()); const result = signed_transaction.to_json() console.log(result.tx); // console.log(result.witness);
})();`
Output:-
Address m/bip44/ada/'0/0/0 Ae2tdPwUPEZKfa3EfkEhj9K1jyxUhkuxYaG1SAVFyD3KzrfLBgwaRV11zc1 all inputs set... 5.000000 all outputs set... 1.000000 Loosing some coins in extra fees: 3.834159 signature 0 added ready to send transaction: 82839f8200d818582482582050a89fc4d468c5b25022faa0d01b33ad6551c3f71fee10fe5dd5fcd860a6831900ff9f8282d818582183581c9bf3a0807b668107a9cac1e50e10ada427b7e68835de69f46ad104efa0001adcb4a5531a000f4240ffa0818200d8185885825840d9f10d0ad1e60ca23de9918b7e1cd6b27d3efe564166b428dda5203a076aa83f08a74cb34468ae6b256c71e295d773d79bbd3d6f5b78044652dfb2768744a3bb5840d739b94a8951e95e0524866c44e88991898f16bfd733d23590f7f177f11c23b3097f0993128c3a1273d5864eb7a62b4cc9ff3a33ce0791d66dcada7dd5bda409 { inputs: [ { id: '50a89fc4d468c5b25022faa0d01b33ad6551c3f71fee10fe5dd5fcd860a68319', index: 0 } ], outputs: [ { address: 'Ae2tdPwUPEZCNHvZbqWhKmeHPxzvZxrnwJZghsm16Vjrzd8DriLn9jCarpr', value: 1000000 } ] }
then i push signed transaction on mainnet:
` const axios = require('axios');
const signedBody = { signedTx: Buffer.from('82839f8200d818582482582050a89fc4d468c5b25022faa0d01b33ad6551c3f71fee10fe5dd5fcd860a6831900ff9f8282d818582183581c9bf3a0807b668107a9cac1e50e10ada427b7e68835de69f46ad104efa0001adcb4a5531a000f4240ffa0818200d8185885825840d9f10d0ad1e60ca23de9918b7e1cd6b27d3efe564166b428dda5203a076aa83f08a74cb34468ae6b256c71e295d773d79bbd3d6f5b78044652dfb2768744a3bb5840d739b94a8951e95e0524866c44e88991898f16bfd733d23590f7f177f11c23b3097f0993128c3a1273d5864eb7a62b4cc9ff3a33ce0791d66dcada7dd5bda409', 'hex').toString('base64'), }
// Send a POST request axios({ method: 'post', url: 'https://explorer2.adalite.io/api/v2/txs/signed', data: JSON.stringify(signedBody), headers: { 'Content-Type': 'application/json; charset=utf-8', }, }).then(function (response) { console.log(response); }).catch(function (error) { console.log(error); });`
Give Error:-
data: { code: 'InvalidContent', message: 'Invalid witness' } } }
The text was updated successfully, but these errors were encountered:
Hello, have you solved the problem
Sorry, something went wrong.
No branches or pull requests
When i submit signed transaction i got error
{ code: 'InvalidContent', message: 'Invalid witness' }``
`const Wallet = require('cardano-wallet');
const axios = require('axios');
(async () => {
})();`
Output:-
Address m/bip44/ada/'0/0/0 Ae2tdPwUPEZKfa3EfkEhj9K1jyxUhkuxYaG1SAVFyD3KzrfLBgwaRV11zc1
all inputs set... 5.000000
all outputs set... 1.000000
Loosing some coins in extra fees: 3.834159
signature 0 added
ready to send transaction: 82839f8200d818582482582050a89fc4d468c5b25022faa0d01b33ad6551c3f71fee10fe5dd5fcd860a6831900ff9f8282d818582183581c9bf3a0807b668107a9cac1e50e10ada427b7e68835de69f46ad104efa0001adcb4a5531a000f4240ffa0818200d8185885825840d9f10d0ad1e60ca23de9918b7e1cd6b27d3efe564166b428dda5203a076aa83f08a74cb34468ae6b256c71e295d773d79bbd3d6f5b78044652dfb2768744a3bb5840d739b94a8951e95e0524866c44e88991898f16bfd733d23590f7f177f11c23b3097f0993128c3a1273d5864eb7a62b4cc9ff3a33ce0791d66dcada7dd5bda409
{ inputs:
[ { id:
'50a89fc4d468c5b25022faa0d01b33ad6551c3f71fee10fe5dd5fcd860a68319',
index: 0 } ],
outputs:
[ { address:
'Ae2tdPwUPEZCNHvZbqWhKmeHPxzvZxrnwJZghsm16Vjrzd8DriLn9jCarpr',
value: 1000000 } ] }
then i push signed transaction on mainnet:
`
const axios = require('axios');
const signedBody = {
signedTx: Buffer.from('82839f8200d818582482582050a89fc4d468c5b25022faa0d01b33ad6551c3f71fee10fe5dd5fcd860a6831900ff9f8282d818582183581c9bf3a0807b668107a9cac1e50e10ada427b7e68835de69f46ad104efa0001adcb4a5531a000f4240ffa0818200d8185885825840d9f10d0ad1e60ca23de9918b7e1cd6b27d3efe564166b428dda5203a076aa83f08a74cb34468ae6b256c71e295d773d79bbd3d6f5b78044652dfb2768744a3bb5840d739b94a8951e95e0524866c44e88991898f16bfd733d23590f7f177f11c23b3097f0993128c3a1273d5864eb7a62b4cc9ff3a33ce0791d66dcada7dd5bda409', 'hex').toString('base64'),
}
// Send a POST request
axios({
method: 'post',
url: 'https://explorer2.adalite.io/api/v2/txs/signed',
data: JSON.stringify(signedBody),
headers: {
'Content-Type': 'application/json; charset=utf-8',
},
}).then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
});`
Give Error:-
data: { code: 'InvalidContent', message: 'Invalid witness' } } }
The text was updated successfully, but these errors were encountered: