美文网首页链圈币圈
智能合约怎么接收以太币?

智能合约怎么接收以太币?

作者: 老鱼_chaimyu | 来源:发表于2018-02-06 19:41 被阅读0次

智能合约需要定义这个函数
function () payable public {}
这样这个合约地址就可以接收ETH了,如果没有这个函数在Electron中给合约地址发送以太币会显示没有足够的gas而失败!


这是一个简单的奖励合约,只有知道密钥的人才能调用claim方法得到合约上的ETH,你有办法知道我的密钥吗?

pragma solidity ^0.4.18;

contract HashLock {
    bytes32 public hashLock = 0x2fe239f0a705178c0ba5bb205b0847c2c2f7852946d6f0f527ffb716b1c160cb;
    
    function () payable public {}

    function claim(string _WhatIsTheMagicKey) public {
        require(sha256(_WhatIsTheMagicKey) == hashLock);
        selfdestruct(msg.sender);
    }
}

在用密钥调用claim方法后,合约上的以太币会转给调用者地址,但是还是可以往这个合约地址上转币,然后好像这个币就死了,我也没法转回来,因为selfdestruct后claim方法没法调用了!

参考:
https://medium.com/@DontPanicBurns/a-simple-hash-locked-contract-part-1-28d7c6065417

相关文章

  • 智能合约怎么接收以太币?

    智能合约需要定义这个函数function () payable public {}这样这个合约地址就可以接收ETH...

  • 以太坊中的智能合约

    以太坊智能合约 在介绍以太坊相关内容的时候,智能合约是最为重要的一块,以太坊中的智能合约让区块链从比特币1.0,步...

  • 购买以太币Eth到自己的钱包

    不管是在以太坊上面发行token还是智能合约,都要费用的,那就是以太币。我这列大概介绍一下怎么在火币网上购买以太币...

  • 图灵复活!——形式化验证下的智能合约探索

    以比特币为首的区块链技术将智能合约的构想落地,随之以太坊将智能合约发扬光大。以太坊将比特币交易中的脚本变成了一种通...

  • 以太坊(一)概念

    基于比特币网络的核心思想,以太坊项目提出了许多创新的技术概念,包括智能合约、基于账户的交易、以太币和燃料等。 智能...

  • 智能合约

    智能合约是存在区块链上的一段代码,按照他们的编码逻辑执行。智能合约能够读取其他的智能合约,做出判断,发送以太币或者...

  • 04-web3j交易(Transactions)

    一般来说,在以太坊支持三种类型的交易: 交易以太币 创建智能合约 发起交易到智能合约 要进行这些交易,需要消耗ga...

  • 认识认识以太坊智能合约

    以太坊智能合约是以太坊相关内容中最为重要的一块,以太坊的智能合约让区块链从比特币1.0步入到了区块链2.0从而让更...

  • 【实践】如何获得Rinkeby网络的测试以太币

    当把智能合约部署到Rinkeby Test Network时,需要获得测试以太币。其网络获取测试以太币的方法同Ro...

  • 【实践】如何获得Rinkeby网络的测试以太币

    当把智能合约部署到Rinkeby Test Network时,需要获得测试以太币。其网络获取测试以太币的方法同Ro...

网友评论

    本文标题:智能合约怎么接收以太币?

    本文链接:https://www.haomeiwen.com/subject/jtcnzxtx.html