轉(zhuǎn)賬
如果在函數(shù)中涉及到以太幣的轉(zhuǎn)移,需要使用到payable關(guān)鍵詞。意味著可以在調(diào)用這筆函數(shù)的消息中附帶以太幣。
創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用10年,服務(wù)更有保障!服務(wù)器租用,
資陽(yáng)服務(wù)器托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問(wèn)。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。
1 2 3
| function pay() public payable{
}
|
this代表合約地址
this 代表當(dāng)前部署的合約地址
1 2 3 4 5
| function getThis() public view returns(address){ return this; // 0x9F4c14f487B8e4E3986467c2a2aA5bDE93052666 //0x9f4c14f487b8e4e3986467c2a2aa5bde93052666 }
|
獲取合約賬戶余額
1 2 3 4
| function getbalance() public view returns(uint){
return address(this).balance; }
|
獲取外部賬戶余額
1 2 3
| function getExternalBalance(address account) public view returns(uint){ return account.balance; }
|
轉(zhuǎn)賬
1 2 3 4 5 6 7 8 9 10
| //給外部賬戶轉(zhuǎn)賬 function transfer() public payable{ address account = 0xca35b7d915458ef540ade6068dfe2f44e8fa733c; account.transfer(msg.value); }
//給合約地址轉(zhuǎn)賬 function transfer2() public payable{ address(this).transfer(msg.value); }
|
給合約地址與外部地址同時(shí)轉(zhuǎn)賬
在下面的例子中,如果在調(diào)用此函數(shù)時(shí),附帶了20Ether,那么就會(huì)給account賬戶轉(zhuǎn)移10ether,給合約賬戶轉(zhuǎn)移10ether
1 2 3 4
| function transfer3() public payable{ address account = 0xca35b7d915458ef540ade6068dfe2f44e8fa733c; account.transfer(10*10**18); }
|
全部代碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| pragma solidity ^0.4.23;
contract payableTest{
function pay() public payable{
}
function getbalance() public view returns(uint){
return address(this).balance; }
function getThis() public view returns(address){ return this; // 0x9F4c14f487B8e4E3986467c2a2aA5bDE93052666 //0x9f4c14f487b8e4e3986467c2a2aa5bde93052666 }
function getExternalBalance(address account) public view returns(uint){ return account.balance; }
function transfer() public payable{ address account = 0xca35b7d915458ef540ade6068dfe2f44e8fa733c; account.transfer(msg.value); }
function transfer2() public payable{ address(this).transfer(msg.value); }
function () public payable{
}
function transfer3() public payable{ address account = 0xca35b7d915458ef540ade6068dfe2f44e8fa733c; account.transfer(10*10**18); } }
|
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:solidity智能合約[23]-payable-創(chuàng)新互聯(lián)
本文來(lái)源:
http://weahome.cn/article/gioos.html