Solidity学习-开发Smart Contract入门


官网学习内容

以下记录在学习的过程遇到的一些不了解的内容:

1. npx 官网解释 

2. 什么是dotnev软件包?学习1 学习2

3. 什么是ethers.js?

ethers.js库旨在为以太坊区块链及其生态系统提供一个小而完整的 JavaScript API 库 它最初是与 ethers.io 一起使用,现在已经扩展为更通用的库。

通过npm安装:npm install --save-dev @nomiclabs/hardhat-ethers "ethers@^5.0.0"

教程 

4. 使用hardhat编译合约时出现错误:

We recommend running Hardhat using the current LTS Node.js version. You can learn about it here

解决方法:

到hardhat官网上看到:We recommend running Hardhat using the current LTS Node.js version. 

所以我选择node-v16.15.0重新安装node.

 

5. 如果contracts这个目录名不对,会出现错误:Nothing to compile

 

6. 修改使用rinkeby测试网进行部署合约

hardhat.config.js 如下:

require('dotenv').config();
require("@nomiclabs/hardhat-ethers");
const { API_URL, PRIVATE_KEY } = process.env;

/**
 * @type import('hardhat/config').HardhatUserConfig
 */
module.exports = {
  solidity: "0.7.3",
  defaultNetwork:"rinkeby",
  networks:{
    hardhat:{},
    rinkeby:{
        url: API_URL,
        accounts: [`0x${PRIVATE_KEY}`]
    },
  }
};

运行:

npx hardhat run scripts/deploy.js --network rinkeby

部署成功: 

Contract deployed to address: 0x462d05caa55979148B85B9f9244399c052548EA7