在以太坊智能合約開發中,一般會有向合約地址進行轉帳的需求,那麼有幾種向合約地址進行轉帳的方式呢?javascript
有三種方式:html
但有一個問題,以太坊的智能合約默認是拒絕來自任何地址的轉帳,那麼如何讓合約可以支持接收轉帳呢?java
在進行合約開發時,若是想要在部署時,直接向該合約進行轉帳,只須要給構造函數中添加payable
修飾符。函數
contract Test { // 構造函數添加payable修飾符便可 function Test() payable { // 構造函數其餘邏輯代碼 } }
執行合約轉帳,則須要給你須要支持轉帳功能的方法添加payable
修飾符code
contract Test { function getBalance() payable { // 其餘邏輯 } }
支持直接轉帳,須要藉助後備函數(fallback function),只須要爲後備函數添加 payable
修飾符htm
contract Test { function () payable { // 其餘邏輯 } }