Transactions

通過呼叫 Solidity 函式傳遞乙太幣

  • January 20, 2017

我已經將契約部署到似乎可以執行的測試網。

我有一個名為的函式contribute,它從msg.value獲取乙太幣。該函式在下面,不帶任何參數。

contribute像這樣從 JavaScript 呼叫:

var res = contracts['CrowdFunder'].contract.contribute();

呼叫時如何指定要發送的乙太幣contribute

這是contribute期望msg.value

function contribute() public      
   {
       contributions.push(
           Contribution({
               amount: msg.value,
               contributor: msg.sender
           }) 
       );
       totalRaised += msg.value;             
   }

你傳入一個對象,該對象具有名為的屬性value和 wei 的數量。

使用您的範例,例如:

contracts['CrowdFunder'].contract.contribute({value: web3.toWei(12, 'ether')});

請注意,在您的範例res中將是一個事務雜湊。

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