“一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议。”


——尼克·萨博(Nick Szabo)


众所周知,智能合约是区块链区块链中很重要的一部分,代币、交易、质押等等活动都需要智能合约的帮助。

今天,我们就来使用智能合约发布一种ERC20代币。

PS:上手需要知晓钱包、公链的知识

我们先在github上下载代码:https://github.com/fingerchar/fingernft

智能合约:发布一种ERC20代币


这是一个开源的NFT交易平台的完整代码,我们只需要其中的代币合约源码就行了。

下载完成,现在我们使用编译器打开代币合约源码 token-contract 文件。

智能合约:发布一种ERC20代币

下面是主要文件说明:

l contracts: 存放合约源码。

l script/config.js: 合约部署的配置文件。

l script/deploy.js: 合约部署的启动文件。

先来看看Token.sol,这是代币的定义文件,看起来很简洁吧,只有一个铸造函数,其他都是引用协议标准就行了

智能合约:发布一种ERC20代币

接下来是配置文件config.js,让我来一一介绍下这些配置参数:

智能合约:发布一种ERC20代币

l privateKey: 钱包私钥地址,它具有钱包的所有权限,千万不能泄露哦。

l chainId: 链ID,你想要将合约部署到那条链,就填相应的链ID。

l apiUrl: 网络访问节点,每个链都有自己的网络访问节点,都是公开的。

l name: 这个合约的名称。

l symbol: 符号,你希望你发布的代币的符号(类似ETH、BNB)。

l supply: 代币的发行量,发布后钱包地址中就会有这个数量的代币了。

最后的启动文件已经写好了,不需要修改了。

智能合约:发布一种ERC20代币

打开终端,下载依赖:npm install

智能合约:发布一种ERC20代币

下载完成后,就可以部署上链,发布代币了:node script/deploy.js

智能合约:发布一种ERC20代币

部署完成后,会生成一个以钱包地址命名的文件,里面存放着你的代币地址

智能合约:发布一种ERC20代币

在钱包内导入代币就可以看到刚刚发行的代币了。

智能合约:发布一种ERC20代币

智能合约:发布一种ERC20代币

整理不易,期待点赞交流哦~~