第111篇 在区块链浏览器上发布合约源码

本文仅限以太坊及兼容区块链的操作。

在合约上线后为了使得业务公开透明化,往往需要上传合约代码。本文介绍一种从合约代码合并到成功发布的方法。

一、合约

合约代码在编写时,为了方便会常用到 import 引入外部合约。在发布到浏览器上时,若依赖的文件过多或依赖链路过长,则需合并合约代码到一个单文件中。

合并合约代码常见的有三种方式:

  1. 通过 truffle-flattener 或 verify 插件;
  2. 通过 Remix 插件;
  3. 最原始的最麻烦也最容易出错的手动复制粘贴合并。

本文介绍第二种方式,通过Remix插件合并。

基于此,写了一个包含 import 的简单合约,源码如下:

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "../openzeppelin/contracts/token/ERC20/ERC20.sol";
import "../openzeppelin/contracts/access/Ownable.sol";
import "../openzeppelin/contracts/security/Pausable.sol";

/*
 * @title ERC20 Token
 */
contract ERC20T is Ownable, ERC20, Pausable {
    constructor(string memory name_, string memory symbol_) ERC20(name_, symbol_) {}

    function mint(address account_, uint256 amount_) public whenNotPaused returns (bool) {
        _mint

版权声明:本文为wonderBlock原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。