chain
文章平均质量分 60
hello,是翠花呀
地势坤,君子以厚德载物
展开
-
ERC721
ERC721ERC20是标准Token接口,这个规定了Token的基本功能, 是可置换的,Token之间没有区别,所有的token是一样的。ERC721则是针对不可置换Token的智能合约标准接口,(non-fungile tokens)不可置换Token简称NFTs,操作标准API的实现方法。ERC20是标准Token接口,ERC20的Token可以无限细分为10^18份,而ERC721...翻译 2018-08-08 23:39:52 · 2321 阅读 · 1 评论 -
Solidity安全贴士(二)
Solidity安全贴士1. 尽量避免外部调用调用不受信任的外部合约可能会引发一系列意外的风险和错误。外部调用可能在其合约和它所依赖的其他合约内执行恶意代码。2. 清楚“send()”、“transfer()”、以及“call.value()”的效率和稳定性当转账Ether时,需要仔细权衡“someAddress.send()”、“someAddress.transf...翻译 2018-08-08 23:41:21 · 795 阅读 · 0 评论 -
Solidity安全贴士(一)
开发前的准备基本理念开发智能合约需要一个全新的工程思维,它不同于我们以往项目的开发,因为一旦它出错将付出巨大的代价,并且很难像传统软件那样轻易的打上补丁。就像直接给硬件编程或金融服务类软件开发,相比于web开发和移动开发都有更大的挑战。所以不能够仅仅防范已知的安全漏洞。预知错误: 代码必须能够正确的处理出现的bug和漏洞。当智能合约出现错误时,停止合约,管理账户的资金风险(限制...翻译 2018-08-08 23:43:18 · 288 阅读 · 0 评论 -
Solidity安全贴士(三)
一些攻击手段1.竞态调用外部合约的主要危险之一是它们可以接管控制流,并对调用函数意料之外的数据进行更改。 这类bug有多种形式,导致DAO崩溃的两个主要错误都是这种错误。(1)可重入:// INSECUREmapping (address => uint) private userBalances;function withdrawBalance() p...翻译 2018-08-08 23:44:21 · 276 阅读 · 0 评论 -
Solidity安全贴士(四)
软件工程开发技巧倡导“时刻准备失败”,预估错误。1.升级有问题的合约如果代码中发现了错误或者需要对某些部分做改进都需要更改代码。最简单的是专门设计一个注册合约,在注册合约中保存最新版合约的地址。组件之间进行模块化和良好的分离。根据合约,升级代码可能会需要通过单个或多个受信任方参与投票决定。如果这个过程会持续很长时间,必须要考虑是否要换成一种更加高效的方式以防止遭受到攻击,例...翻译 2018-08-08 23:45:16 · 285 阅读 · 0 评论 -
Solidity编译部署
环境:虚拟机 centOS7、node安装node以前我的博客写有 https://blog.csdn.net/qq_26769677/article/details/79079827安装好node,后安装truffle 和 ganachenpm install -g trufflenpm install -g ganache-cli创建工程新建文件夹:...原创 2018-08-31 17:22:47 · 790 阅读 · 0 评论