一键搭建初始化以太坊开发环境。

这个项目有点类似 create-react-app。目的是帮助开发者快速初始化开发环境。具体项目使用和介绍可以 看 Github 主页

使用指南

首先你得已经全局安装 truffle。这样create-smart-contract myapp,会用 truffle 为你初始化一个项目文件夹。然后为你安装一系列有用的插件和包。最后给你生成一些默认的配置文件。以下是包含的框架,插件,包和配置文件。由于目前 Openzeppelin 不支持 0.8 的 solc,所以我默认使用 0.7 的最新版。

除此之外我还加入了一些有用的 Node 脚本。

  • npm run test: 用来跑测试的。我这采用了 Hardhat。因为它跑 test 的速度快,并且支持在智能合约中使用console.log
  • npm run doc: 根据 doxygen 自动生成文档。
  • npm run coverage: 根据配置文件 .solcover.js 生成测试覆盖率报告。
  • npm run analyze 根据配置文件 slither.config.json 静态分析智能合约。_注意:要求已经安装 Slither_

自定义

你可以自定义想要的包。更改index.jsinstallPackages。例如

const installPackages = () => {
  return new Promise((resolve) => {
    console.log("\nInstalling hardhat\n".cyan);
    shell.exec(`npm install --save-dev hardhat`, () => {
      console.log("\nFinished installing packages\n".green);
      resolve();
    });
  });
};

模板

你可以自己更改,添加或删除模板。例如你想要添加模板,你需要将模板文件加入 templates/ 然后修改 templates/templates.js。例如

let fs = require("fs");
let path = require("path");
const gitIgnore = fs.readFileSync(path.resolve(__dirname, "./gitignore"));
const solcover = fs.readFileSync(path.resolve(__dirname, "./solcover.js"));
const slither = fs.readFileSync(
  path.resolve(__dirname, "./slither.config.json")
);
const hardhatConfig = fs.readFileSync(
  path.resolve(__dirname, "./hardhat.config.js")
);
const truffleConfig = fs.readFileSync(
  path.resolve(__dirname, "./truffle-config.js")
);
const prettier = fs.readFileSync(path.resolve(__dirname, "./.prettierrc"));
const package = fs.readFileSync(path.resolve(__dirname, "package.json"));
const env = fs.readFileSync(path.resolve(__dirname, ".env"));
module.exports = {
  ".gitignore": gitIgnore,
  "solcover.js": solcover,
  "slither.config.json": slither,
  "truffle-config.js": truffleConfig,
  "hardhat.config.js": hardhatConfig,
  ".prettierrc": prettier,
  "package.json": package,
  ".env": env,
};

祝你开发愉快。

你可能感兴趣的:(solidity,区块链,以太坊,脚手架,初始化)