invokeMultiple
Invoke Multiple functions the same as Invoke, but accepts inputs to execute multiple invokes in the same transaction.
Input Arguments
fee?: string
If a fee is specified then the wallet SHOULD NOT override it, if a fee is not specified the wallet SHOULD allow the user to attach an optional fee
extraSystemFee?: string
This fee will be added to system fee
overrideSystemFee?: string
This fee will override the system fee
broadcastOverride?: boolean
If this flag is set to True, the wallet provider will return the signed transaction rather than broadcasting to a node.
InvokeArguments
Argument
type: 'String' | 'Boolean' | 'Hash160' | 'Hash256' | 'Integer' | 'ByteArray' | 'Array' | 'Address'
The type of the argument with you are using
value: any
String representation of the argument which you are using
Success Response
In the case where the "broadcastOverride" input argument is not set, or set to false.
txid: string
The transaction ID of the invocation
nodeURL: string
The node which the transaction was broadcast to. Returned if transaction is broadcast by wallet provider
In the case where the "broadcastOverride" input argument is set to True.
signedTx: string
The serialized signed transaction. Only returned if the broadcastOverride input argument was set to True
Error Response
type: string
The type of error which has occured
description: string
A description of the error which has occured
data: string
Any raw data associated with the error
Example
Request
neolineN3.invokeMultiple({
invokeArgs: [
{
scriptHash: "ef4073a0f2b305a38ec4050e4d3d28bc40ea63f5",
operation: "transfer",
args: [
{
type: "Address",
value: "NaUjKgf5vMuFt7Ffgfffcpc41uH3adx1jq",
},
{
type: "Address",
value: "NaUjKgf5vMuFt7Ffgfffcpc41uH3adx1jq",
},
{
type: "Integer",
value: "1",
},
{
type: "Any",
value: null
}
]
},
{
scriptHash: "ef4073a0f2b305a38ec4050e4d3d28bc40ea63f5",
operation: "transfer",
args: [
{
type: "Address",
value: "NaUjKgf5vMuFt7Ffgfffcpc41uH3adx1jq",
},
{
type: "Address",
value: "NPsCvedTnzGcwSYuoxjh7Sec5Zem2vgVmX",
},
{
type: "Integer",
value: "1",
},
{
type: "Any",
value: null
}
]
}
],
fee: '0.001',
broadcastOverride: true,
signers: [
{
account: "2cab903ff032ac693f8514581665be534beac39f",
scopes: 1
}
]
})
.then(({txid, nodeURL}: InvokeOutput) => {
console.log('Invoke transaction success!');
console.log('Transaction ID: ' + txid);
console.log('RPC node URL: ' + nodeURL);
})
.catch((error) => {
const {type, description, data} = error;
switch(type) {
case 'NO_PROVIDER':
console.log('No provider available.');
break;
case 'RPC_ERROR':
console.log('There was an error when broadcasting this transaction to the network.');
break;
case 'CANCELED':
console.log('The user has canceled this transaction.');
break;
default:
// Not an expected error object. Just write the error to the console.
console.error(error);
break;
}
});
Response
{
txid: '0xd6e4edeb66a75b79bec526d14664017eef9ccee5650c32facb1a4d4fe3640808',
nodeURL: 'https://neo3-testnet.neoline.vip'
};
最后更新于
这有帮助吗?