![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Web3
文章平均质量分 83
长琴子
这个作者很懒,什么都没留下…
展开
-
如何使用OpenZeppelin开发智能合约
如何使用OpenZeppelin开发智能合约本文不是讲如何使用Solidity语言编写可约,而是如何使用框架来开发合约。关于Solidity语言的语法、关键字等通过其他渠道学习。Node..js开发环境准备等也不具体展开。首先创建一个项目:mkdir learn && cd learnnpm init -y比较知名的以太坊开发框架是Hardhat,一般配合ethers.js使用。另一个比较知名的开发框架是Truffle,一般配合web3.js使用。每个框架都有自己的优势。首先在我们的项目目录安装Hardha原创 2022-06-05 19:26:09 · 3595 阅读 · 0 评论 -
如何使用OpenZeppelin的可升级合约
如何使用OpenZeppelin的可升级合约已经部署的智能合约可以使用OpenZeppelin升级插件通过修改代码但保留原合约地址、状态和余额来进行升级。这点允许我们迭代自己的项目来添加新功能或修复发现的Bug。正常情况下以太坊的智能合约是不能改变的。合约一旦创建就没办法改变。但是,在很多场景下,人们还是希望可以修改合约。想象一下传统合约的参与双方,如果双方都同意改变,他们就可以改变合约。在以太坊上,人们也会希望通过修改合约来修复他们发现的Bug或添加其他功能。如果不升级合约,可以通过以下方法来修复合约中发原创 2022-06-05 19:25:17 · 3754 阅读 · 0 评论 -
合约的访问控制
合约的访问控制访问控制的意思就是谁被允许做这件事。这在智能合约中非常重要。合约的访问控制可以治理谁可以铸造代币,谁可以提案,或冻结或转移或者其他权限。所有权和Ownable最常见和最基本的访问控制是所有权的概念:合约有一个owener的账号可以做一些管理的任务。这个方法可以完美合理的适用于只有一个管理员用户的情况。OpenZeppelin合约提供了一个Ownable用于实现合约里面的所有权。// contracts/MyContract.sol// SPDX-License-Identifier: MITp原创 2022-06-05 19:23:48 · 740 阅读 · 0 评论 -
ERC1155
ERC1155是一个为了实现比以前标准更好的新通证标准。多通证标准ERC1155最独特的功能是它使用一个单独的智能合约一次性代表多种通证。这也就是它的balanceOf函数与ERC20及ERC777不同的原因。它有一个额外的id参数作为通证标识符以查询余额。这点和ERC721相似,但是表中的id并没有余额的概念。ERC721的balanceOf函数关联到一个账户拥有多少不同的通证,而不是每个拥有多少个。另一方面,ERC1155账户每个通证id有非常清晰的余额。和不可替代的通证实现通过简单铸造它...原创 2022-06-05 19:21:52 · 5442 阅读 · 0 评论