truffle 创建测试合约并部署到测试网络

1、npm 安装truffle

npm install -g truffle

2、创建truffle项目

mkdir imooc-on-blockchain-truffle && cd imooc-on-blockchain-truffle

3、初始化truffle目录,会生成如下几个目录

  • contracts 存放.sol合约文件
  • migrations 部署脚本目录
  • test 测试文件目录
  • truffle-config.js truffle配置文件
% truffle init
% ls -l
 contracts               
 migrations              
 test                    
 truffle-config.js

4、编译合约

编译合约以后会生成build目录,存放编译好生成的合约的json文件

truffle compile

5、修改合约
如果要部署自己的合约文件,将合约文件赋值到contracts目录下重新编译即可。
如果只是需要运行truffle的demo,不用改变

6、修改部署脚本
使用 artifacts.require("CourseList")方法引入合约,名称为定义好的合约名称。
然后将deployer.deploy()方法测参数修改为相应的参数名称。

const CourseList = artifacts.require("CourseList");

module.exports = function(deployer) {
  deployer.deploy(CourseList);
};

7、启动dashboard
在项目的目录中执行truffle dashboard命令。会启动一个web服务并在默认浏览器中打开一个页面。

% truffle dashboard
truffle 创建测试合约并部署到测试网络_第1张图片

8、执行部署
在另外一个命令行窗口中,执行以下命令,进行合约部署。

% truffle migrate --network dashboard

部署的过程中,在dashboard的页面中会有提示,是否发送,点击发送,会继续部署。

truffle 创建测试合约并部署到测试网络_第2张图片

部署成功以后,在命令行窗口中会返回部署结果。

% truffle migrate --network dashboard
Compiling your contracts...
===========================
> Everything is up to date, there is nothing to compile.


Starting migrations...
======================
> Network name:    'dashboard'
> Network id:      11155111
> Block gas limit: 30000000 (0x1c9c380)


1_deploy_contracts.js
=====================

   Deploying 'CourseList'
   ----------------------
   > transaction hash:    0xc603ed8246528259fed877e62449fd35d3159e6c6dd07595a20a920353f5f3dassage.
   > Blocks: 5            Seconds: 68
   > contract address:    0x88888888888888888888888888888140937d29cD
   > block number:        2883963
   > block timestamp:     1676176488
   > account:             0x888888888888888888888888888889c16FcA382a
   > balance:             0.12207404998410734
   > gas used:            1696218 (0x19e1da)
   > gas price:           2.500000007 gwei
   > value sent:          0 ETH
   > total cost:          0.004240545011873526 ETH

   > Saving artifacts
   -------------------------------------
   > Total cost:     0.004240545011873526 ETH

Summary
=======
> Total deployments:   1
> Final cost:          0.004240545011873526 ETH

返回结果中会显示部署合约的耗费,以及部署到的地址 > contract address: 0x88888888888888888888888888888140937d29cD
使用这个地址,在相应的etherscan可以查看相应信息。
https://sepolia.etherscan.io/tx/${contractAddress}

truffle 创建测试合约并部署到测试网络_第3张图片

参考文档:
https://trufflesuite.com/docs/truffle/how-to/install/
https://trufflesuite.com/docs/truffle/quickstart/
https://trufflesuite.com/docs/truffle/how-to/use-the-truffle-dashboard/

see also at http://www.shutdown.cn/post/deploy-contract-to-test-net-with-truffle/

你可能感兴趣的:(web3,区块链,truffle)