“一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。”
——尼克·萨博(Nick Szabo)
众所周知,智能合约是区块链区块链中很重要的一部分,代币、交易、质押等等活动都需要智能合约的帮助。
今天,我们就来使用智能合约发布一种ERC20代币。
PS:上手需要知晓钱包、公链的知识
我们先在github上下载代码:https://github.com/fingerchar/fingernft
这是一个开源的NFT交易平台的完整代码,我们只需要其中的代币合约源码就行了。
下载完成,现在我们使用编译器打开代币合约源码 token-contract 文件。
下面是主要文件说明:
l contracts: 存放合约源码。
l script/config.js: 合约部署的配置文件。
l script/deploy.js: 合约部署的启动文件。
先来看看Token.sol,这是代币的定义文件,看起来很简洁吧,只有一个铸造函数,其他都是引用协议标准就行了
接下来是配置文件config.js,让我来一一介绍下这些配置参数:
l privateKey: 钱包私钥地址,它具有钱包的所有权限,千万不能泄露哦。
l chainId: 链ID,你想要将合约部署到那条链,就填相应的链ID。
l apiUrl: 网络访问节点,每个链都有自己的网络访问节点,都是公开的。
l name: 这个合约的名称。
l symbol: 符号,你希望你发布的代币的符号(类似ETH、BNB)。
l supply: 代币的发行量,发布后钱包地址中就会有这个数量的代币了。
最后的启动文件已经写好了,不需要修改了。
打开终端,下载依赖:npm install
下载完成后,就可以部署上链,发布代币了:node script/deploy.js
部署完成后,会生成一个以钱包地址命名的文件,里面存放着你的代币地址
在钱包内导入代币就可以看到刚刚发行的代币了。
整理不易,期待点赞交流哦~~