三:将智能合约部署到ganache测试网

三:将智能合约部署到ganache测试网,第1张

三:将智能合约部署到ganache测试网

文章目录 三:将智能合约部署到ganache测试网实验目的实验原理开始条件实验过程实验步骤相关官方知识库下一章内容:

实验目的
	掌握将智能合约部署到ganache测试网,首先要构建本地的ganache,然后用ganache中的用户去连接到ganache。
实验原理 ganache是一个模拟区块链网络的本地区块链程序,里面有20个用户共我们使用,方便我们模拟用户的使用,进行代码测试等 *** 作。ethers.js为以太坊区块链及其生态系统提供一个小而完整的 JavaScript API 库。方便开发者更好的与智能合约交互。fs是js读取文件的一个组件,方便我们读取目录中的文件。 开始条件 安装好基于windows系统的子系统wsl。默认安装ubuntu20.04。在ubuntu中安装node.js安装好solidity的编译器使用yarn需要先进行设置,在命令行中输入corepack enable 实验过程 下载ganche下载ethers.js下载fs编写deploy.js部署合约 实验步骤 ganache下载
yarn add  ganache-cli

​ 2.开启本地ganache

ganache-cli


** ganache中内置了10个账户, 记住ip和其中一个私钥,通过ip和私钥来连接到ganache(窗口别关闭) **

另外启动一个窗口完成后面的 *** 作

下载ethers.js
yarn add ethers
下载fs
yarn add fs-extra

在test目录中创建 一个deploy.js文件(文件源码在后面) //test目录是上一章创建并编译的项目路径

​ 上一章的连接地址(solidity代码编译)[]

touch deploy.js
vim deploy.js

运行deploy.js
node deploy.js

结果如下:左边为ganache的运行日志,右边为运行deploy.js中控制台打印的部署合约的相关信息。

相关官方知识库 ether.jsganache-lic 下一章内容:

调用部署在ganache的智能合约

欢迎讨论学习⊙﹏⊙

** deploy.js的代码如下:**

// 引包
const ethers = require("ethers");
const fs = require("fs-extra");

async function main() {
  // 建立ganache网络
  let provider = new ethers.providers.JsonRpcProvider("http://127.0.0.1:8545");
  //用户连接到网络
  let wallet = new ethers.Wallet(
    "0x955befd54e2c3d5825644c32eb9770dc273e62420139724eadb42969eb33d19e", //私钥
    provider
  );

  // 获取solidity的接口和字节码
  const abi = fs.readFileSync("./SimpleStorage_sol_SimpleStorage.abi", "utf8");
  const binary = fs.readFileSync(
    "./SimpleStorage_sol_SimpleStorage.bin",
    "utf8"
  );
  //用户创建交易
  const contractFactory = new ethers.ContractFactory(abi, binary, wallet);
  console.log("Deploying, please wait...");
  //用户部署智能合约
  const contract = await contractFactory.deploy();
  console.log(contract);
}

main()
  .then(() => process.exit(0))
  .catch((error) => {
    console.error(error);
    process.exit(1);
  });

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/2990677.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存