EOS智能合约(Dapp)开发实践
区块链斜杠青年
这个作者很懒,什么都没留下…
展开
-
[EOS源码分析]9.EOS智能合约开发实践之数据库持久化
以太坊智能合约定义的全局变量的值是持久性的,就相当于智能合约一直在运行着。而EOS的智能合约更加接近我们平时使用的程序,每次执行action都相当于启动智能合约的一个新实例,一旦执行完,代码定义的变量就释放了,不会影响下一次执行环境。但是智能合约肯定需要有持久化存储的需求,比如永久保存智能合约代币的状态,不能代币转账执行完,代币的balance余额信息和转账前一样吧。这个持久化存储就是数...原创 2018-06-04 10:41:56 · 4351 阅读 · 0 评论 -
昨日EOS inline攻击吞噬RAM漏洞复盘
昨日EOS紧急更新了一个偷窃RAM漏洞的补丁,今天和网友远航讨论了该漏洞,远航提供了昨日官网修复该漏洞的patch,于是又有了想复现漏洞的冲动,最后验证并在测试网络还原了该漏洞。漏洞详情 该漏洞是因为EOSIO系统对于合约inline调用合约内的其他函数不会进行权限检测,从而恶意合约可以使用任何其他账号的权限调用该合约的其他方法。比如下图:漏洞复现操作如下...原创 2019-11-04 10:33:14 · 5225 阅读 · 0 评论 -
EOS版truffle测试框架js4eos上线了,合约一键自动化测试
EOS测试框架流程安装js4eosnpm install -g js4eos (ubuntu需要sudo)初始化合约应用mkdir js4eos-dappcd js4eos-dappjs4eos dapp init新增合约js4eos dapp create game编译合约js4eos dapp compile hello部署合约...原创 2019-11-04 10:33:52 · 6108 阅读 · 0 评论 -
EOS游戏合约遭受回滚老千攻击
该攻击昨晚开始传播,我们先来看下新闻现场 从上述描述来看,该攻击确实存在。因为EOS的交易里的action是原子事务操作,如果其中任何一个action出错,整个transaction会失败并回滚已经执行的action。所以如果不盈利,回滚后攻击者不消耗也不损失EOS。所以该攻击的核心技术是如何检测盈利情况。 恶意合约如何检测盈利 该攻击...原创 2019-11-04 10:34:07 · 7182 阅读 · 0 评论 -
EOS Dapp最后一环--scatter网页前端开发实践
我们知道自从移动钱包(TokenPocket,MeetOne, 麦子钱包, EosToken)支持scatter后,Eos Dapp的体验及便利性提升了少,也是最近Dapp爆热的一个原因,因而目前Eos Dapp支持Scatter是一个必选项。同时,最近很多伙伴问我Dapp怎么支持scatter,昨晚有空正好就整理了下形成了hello-eos-scatter这个项目并开源了,希望对大家有用。...原创 2019-11-04 10:36:17 · 9771 阅读 · 3 评论 -
EOS一键快速发币
EOS快速一键发币请查考: https://github.com/itleaks/eos-contract/tree/master/eosiotoken-exp|*************************************************** 本文来自CSDN博主"爱踢门",喜欢请点关注* 转载请标明出处:http://blog.csdn.net/itle...原创 2018-10-27 10:24:27 · 9313 阅读 · 0 评论 -
EOS延迟交易实践
EOS智能合约开发实践一直缺延迟交易的实例,同时正好昨晚补上了DexChain基金模型的一个延迟逻辑(TODO)。今天正好和大家一起分享下延迟交易怎么写。 这里的延迟交易就是defer transaction。 应用场景 eosio.system系统合约的undelegatebw使用了该功能,用户赎回CPU抵押的CPU时,需要3天才会到账。这个就是通过会发起一个延时3...原创 2018-10-25 13:44:07 · 5764 阅读 · 0 评论 -
Eosbet再遭攻击,亟待官方的权威开发指南
Eosbet上次遭受所谓的“假EOS”攻击被盗(被薅走5w EOS),这次又爆出假EOS转账通知(被卷走14w EOS),真是让大家对Eosbet的专业技术能力产生质疑。当然具体真相如何,只有官方最清楚。下面就来简单描述下这两个BUG “假EOS”攻击 “假EOS“攻击是攻击者在自己的智能合约里创建一个假EOS代币,并给Eosbet账号转账假的eos代币,并主动通知...原创 2018-10-16 10:42:40 · 2694 阅读 · 0 评论 -
EOS合约吞噬用户RAM回放分析及实践
这几天,有两个朋友问到我“Cannot charge RAM to other accounts during notify”这个错误提示,我才想起原来曾经还存在过这个问题,也许是前段时间的Bancor和“假EOS”漏洞等事件影响力太大,导致很多开发人员忽略了这个RAM更新。于是,我翻了翻笔记,重新整理了下跟大家一起分享,也算是做个记录。 合约吞噬用户RAM原理分析 ...原创 2018-09-28 09:51:13 · 2380 阅读 · 0 评论 -
如何释放已使用的EOS RAM,然后就可以自由买卖了
昨天到今天,EOS RAM价格大跌,有一些用户想卖RAM,但是却发现大量RAM被占用,比如下图: 这位伙伴找到我时,他说啥都没做但他的内存使用量怎么高达189k,然后我查了一下该账号的交易记录,发现他曾经部署过智能合约。然后他告诉我是他不小心部署的,且报错了,以为没部署成功。可见RAM被智能合约吃掉了,那怎么办呢?释放已经使用的EOS RAM 个人使用掉的...原创 2019-11-04 10:41:10 · 3545 阅读 · 0 评论 -
[EOS源码分析]7.EOS智能合约开发实践之合约调用合约(inline action)
首先,目前dawn-4.1, dawn-4.2使用inline action是会报如下错误 transaction declares authority '{"actor":"hello.code","permission":"active"}', but does not have signatures for it under a provided delay of 0...原创 2018-06-01 11:43:01 · 6004 阅读 · 0 评论 -
[EOS源码分析]6.EOS特殊智能合约eosio
这里说的eosio智能合约不是泛指eos的智能合约,它是一个特殊的具体的合约。它本事可大了,我们一起来看看它有哪些功能负责智能合约部署 大家有注意到如下红色字体的log吗$ cleos set contract hello.code ../eos-contract/hello -p hello.codePublishing contract...executed...原创 2018-05-26 23:04:15 · 5370 阅读 · 0 评论 -
[EOS源码分析]5.EOS编写HelloWorld智能合约及各种坑
本文所有实践都是基于EOS dawn-v4.1.0,请切到该分支然后实践切换命令:git checkout dawn-v4.1.0HelloWorld源码#include <eosiolib/eosio.hpp>#include <eosiolib/print.hpp>using namespace eosio;class hello :...原创 2018-05-26 15:04:34 · 5948 阅读 · 2 评论 -
EOS DDOS攻击,你想不到的这12小时
首先你看到此文时,说明我已将该攻击告知主网,他们已经应用了新patch来应对此类攻击,所以大家不要想多了O(∩_∩)O~。由于该攻击和开奖交易阻塞攻击有渊源,因而也提下前天的开奖交易阻塞攻击。开奖交易阻塞攻击 该攻击方法的核心是在下注时发起大量delaytime=0的恶意延迟交易,由于EOS执行交易采用FIFO策略,这些延迟交易肯定在开奖交易之前执行。...原创 2019-11-04 10:31:55 · 5273 阅读 · 1 评论