Ich habe einen Vertrag wie folgt bereitgestellt und seinen Saldo auf 5000 Wei ( value: 5000
) festgelegt:
const thisContract = new web3.eth.Contract(abi);
thisContract.deploy({
data: bytecode,
arguments: [ "0x84f0c8fC2F6bc8394EB77BaAAe89cB6e12C048C2", 86400]
}).send({
from: "0x3455D7167A2EE2d660EE85F8e90C6b3B1cCB7163",
gas: 5000000 ,
gasPrice: '3000000000',
value: 5000 // here I have determined the balance.
}, function(error, transactionHash) {
console.log(error);
console.log(transactionHash);
console.log('function exec');
}).then(function(newContractInstance) {
console.log('Contract Instance:' + newContractInstance.options.address);
});
Ich habe diesen Vertrag auf Tobalaba
Blockchain bereitgestellt ( sein GitHub ist hier. )
Die Bilanz der Adresse, unter der ich diesen Vertrag entwickelt habe, lautet 20000000000000000000 wei
wie folgt:
> web3.eth.getBalance('0x3455D7167A2EE2d660EE85F8e90C6b3B1cCB7163').then(console.log)
Promise {
<pending>,
domain:
Domain {
domain: null,
_events:
{ removeListener: [Function: updateExceptionCapture],
newListener: [Function: updateExceptionCapture],
error: [Function: debugDomainError] },
_eventsCount: 3,
_maxListeners: undefined,
members: [] } }
> 20000000000000000000
Wenn ich jedoch die Restsumme des Vertrages erhalte, ist es 0
wie folgt:
> web3.eth.getBalance('0xd227398f81bad20882b46ccdffc71058025df341').then(console.log)
Promise {
<pending>,
domain:
Domain {
domain: null,
_events:
{ removeListener: [Function: updateExceptionCapture],
newListener: [Function: updateExceptionCapture],
error: [Function: debugDomainError] },
_eventsCount: 3,
_maxListeners: undefined,
members: [] } }
> 0
Und hier sind die Informationen zur Bereitstellung dieses Vertrags:
https://tobalaba.etherscan.com/address/0xd227398f81bad20882b46ccdffc71058025df341
Dementsprechend ist die Vertragsadresse0xD227398f81bAD20882B46ccdFfC71058025df341
Ist etwas falsch?
WICHTIGER HINWEIS: Ich habe diesen Vertrag entwickelt: https://programtheblockchain.com/posts/2018/02/23/writing-a-simple-payment-channel/
In der Zwischenzeit, wenn ich die Vertragsadresse erhalte, gibt sie null zurück !
> thisContract.options.address
null
Während, in Bezug auf diese Informationen ( https://tobalaba.etherscan.com/tx/0xb9834bd2ebbbb930208dbb17462169441c6b63542a01a43e3992ecf803cb0734 ) es bereitgestellt werden muss, nicht wahr? (Siehe Screenshot unten)
balance = await web3.eth.getBalance(contract_address);
Benutzer19510
Benutzer19510
thisContract.options.address
istnull
, dass Sie nie eine Adresse zugewiesen haben. Sie könnenthisContract.options.address = newContractInstance.options.address
diesen Rückruf verwenden, wenn Sie möchten.Fragesteller
enode://63c8ce2905100932230c1760fb29d36d08646979d1fd7abfa8393f5e7feaade3c9a078fd85b194ca040c8a0b2c541537f96deb76a7412c87e36cec16fe543e9f@192.168.136.128:30303
Benutzer19510
Fragesteller
5000 wei
hier: tobalaba.etherscan.com/address/… Es lag anscheinend an der Synchronisation. DankeFragesteller