128

有个写智能合约的想法。

zyy9616 · 于 发布 · 最后由 iwrong23回复 · 731 次阅读

写一个这样的智能合约,模拟抢红包的合约,先注册Hongbao.eth域名,当想参加的人把ETH发送到这个绑定好hongbao的合约地址,合约里的代码大约是这样:

等待接受ETH,
{
如果有任何人发送eth

将它们的数额与地址保存
{
计数20个区块后

如里少于100个ETH

如果计数大于200个区块

以太币完全返还回原地址

循环}

如果只有一个地址发送以太币

以太币完全返还回原地址

否则

0.5%金额发送个给合约运营者地址

合约里的95%以太币随机的*10倍或*0.1倍之间数额重返还给5个区块前参加的这个合约地址 (一定要完全返还给抢红包地址)

循环}

一轮下来,合约里的ETH一个不留,重新开始一轮。由于合约开发者不和玩家对赌,所以这点保证了游戏的公平,开发者也不用巨额初始的对赌资金,每局0.5%的资金用来建设网站,将这个红包合约进行可视化,宣传等。

抢红包游戏很火的,再配上ENS域名Hongbao.eth对合约地址的绑定,感觉可行性很高呀。各位会写代码的哥哥怎么看?可行性高不高,这种合约难不难写?

也可以模拟 老虎机.ETH 轮盘.ETH 。感觉很有意思。

2.补充:老虎机方案:

这个方案胜负赔率都是50%,

每个玩家发送ETH给laohuji.eth绑定的和合约地址,
{
经过200个区块,如果只有一个人赌或者因本轮总ETH太少赔率对少数玩家不公平,合约返还ETH。

每个玩家都可以有50%的机会得到*1.9倍收益率,

玩家按随机规则将ETH总额50%,50%分成俩批玩家

输家返回本金的0.1%,

赢家只返回本金的100%,再把赢得的ETH币强制放在合约中与新一轮发送过来的ETH不管新币老币再来一轮50%概率对赌,输了返回本金的0.1%,赢家再次返回本金的100% 无限循环。
}

运行结果:玩家只要发一次币,如果运气好就可以获得多次100%收入,如果收到本金的0.1%就知道本轮运气不佳,游戏结束。

好处是简单,赔率可以无限扩大,去中心化。

  • 128
    liukan

    两个问题:
    1. ETH里是没有随机的概念的,因为必须所有的EVM执行同一个智能合约都是同一个结果。 你这个可以实现,但是需要oracle节点配合。
    2. 类似的赌博合约已经有很多了。。
    3. 来 http://www.94eth.com ~

  • 128
    zyy9616

    @liukan
    @liukan
    @liukan ”2. 类似的赌博合约已经有很多了。 ” 那该怎么找到它们呢?我想看看。

  • 128
    zyy9616

    以前这种合约是不好做,现在开始有ENS这种去中心化的.ETH域名系统,相信会更加方便好做。

  • 5280 large
    iwrong23

    合约里的95%以太币随机的*10倍或*0.1倍之间数额重返还给5个区块前参加的这个合约地址.....

    这个逻辑让人很难下大注,下1个eth,池子只有2个eth,输了1.9,赢至多1个。。。很尴尬

  • 128
    zyy9616

    @iwrong23 有道理,是很难让人下大注,可以加个数量开关,如总数达到100个币才开始运行。ps你举的例子如果不算0.5%抽水的话输赢都是1个,大额少掉10倍的机会,的确不公平,要研究一下。

  • 5280 large
    iwrong23

    @zyy9616 加我好友,喜欢你的idea,一起研究。qq370905322

  • 128
    liukan

    注册ENS域名的话,有中文系统哈~ http://www.94eth.com/ens

    赌博合约可以google下 ethereum Dapps

  • 128
    zyy9616

    @liukan 谢谢,你推荐的94eth竟然有拍卖ens测试版,我有好多域名要卖呢。

  • 128
    liukan

    @zyy9616 还没上拍卖功能,目前只能登记。

  • 5280 large
    iwrong23

    @zyy9616 合约已经写出来了。大家有兴趣可以来玩 http://www.bananafund.org