我正在尝试将wei/eth发送到我的可靠合同的地址,该合同具有外部支付回退功能。我下面的truffle javascript测试没有导致instance.address的平衡得到任何wei。instance.address不是接收wei的智能合约地址吗?有没有人知道为什么console.logging的结果是0?或者找出我错过了什么?
谢谢!
const TestContract = artifacts.require("TestContract");
contract('TestContract', async (accounts) => {
it('should send 1 ether to TestContract', async () => {
let instance = await TestContract.deployed();
instance.send({from: accounts[1], value: 1000000000000000000});
let balance = await web3.eth.getBalance(instance.address);
console.log('instance.address balance: ' + parseInt(balance));
)}
发布于 2018-10-11 08:07:56
解决了!我忘了我必须像这样通过web3和eth发送事务:
web3.eth.sendTransaction({})
不管怎样,谢谢你!
发布于 2018-10-10 22:31:12
你只能发送到一个地址,而不是一个对象。
instance.send({from: accounts[1], value: 1000000000000000000});
发布于 2021-07-27 16:41:38
在您的松露测试文件中使用Web3.js v1.4.0
。
const SolidityTest = artifacts.require('SolidityTest');
contract('SolidityTest', (accounts) => {
let solidityTest;
before(async () => {
solidityTest = await SolidityTest.new();
})
it('Test something', async () => {
// Send 100 wei to the contract.
// `sendEth` is your payable method.
await solidityTest.sendEth({from: accounts[1], value: 100});
// Check account 1 balance.
let acc1Balance = await web3.eth.getBalance(accounts[1]);
// Convert the unit from wei to eth
acc1Balance = web3.utils.fromWei(acc1Balance, 'ether')
console.log('acc1 balance:', acc1Balance)
// Check the contract balance.
let contractBalance = await web3.eth.getBalance(solidityTest.address);
contractBalance = web3.utils.fromWei(contractBalance, 'ether')
console.log('contract balance:', contractBalance)
});
});
https://stackoverflow.com/questions/52740950
复制相似问题