Solidity

發送乙太幣後賬戶餘額不會減少

  • April 18, 2018

例如,這是我在智能合約中的範例函式:

function adoptCreeptomas(uint256 beastQuantity, address referrer
) public payable whenNotPaused {
   msg.sender.transfer(50);
}

然後我嘗試測試這個契約:

describe("adopted creeptoma", async function() {
   it('adopted', async function() {
       let instance = await CreeptomaPresale.deployed();

       let pre = convertEther(getBalance(investor));
       await instance.adoptCreeptomas.call(beastQuantity, 0 {from: investor, value: ether(100)});
       let after = convertEther(getBalance(investor));
       console.log("before: " + pre + "--after: " + after);
   });
});

列印日誌為:before: 100--after: 100

這是我的getBalance方法:

export function getBalance(address) {
   return web3.eth.getBalance(address)
}

我不知道為什麼帳戶餘額沒有減少。請幫我。

謝謝

你是說call()當你adoptCreeptomascall()使其明確成為只讀的,不改變狀態的空執行操作。它沒有簽名或發送到網路進行探勘,所以下次你看,什麼都沒有改變。

在這裡查看詳細說明。交易和通話有什麼區別?

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/46066