八:通过Infura部署到rinkeby测试网

八:通过Infura部署到rinkeby测试网

如果朋友有代码,工具,使用流程等不太清楚的,可用去专栏看看,专栏中有文章中所提及的具体使用方式。

不太明白的朋友可以自己去看看~~ 瞬移专栏

实验目的

	手动部署项目,不通过truffle或者hardhat等手脚架来部署项目,能让我们更加清晰的了解整个项目过程,在后期使用hardhat等工具的时候也会更加得心应手~

实验原理

  • 在我们将合约正式部署到以太坊主链之前,一般都会在测试链先进行一段时间的测试。

开始条件

  • nodejs
  • ether.js
  • fs
  • VS code
  • MetaMask钱包
  • infura

实验过程

  1. 获取infura的url
  2. 获取私钥
  3. 在我们部署合约的代码中写入响应的信息

实验步骤

  1. 根据第七章的步骤得到url,我们把他复制下来,一会填入后面的部署代码中
    在这里插入图片描述

  2. 根据第九章文章的操作步骤(不知道怎么获取私钥的的点击:查看metamask私钥),获取到我们的私钥,复制下来,一会填入部署代码中
    在这里插入图片描述

  3. 重新编写我们的deploy.js代码,大家会发现,我们部署到rinkeby的方式和部署到ganache的方式基本相同,只需要改变网络地址和重新填写自己的metaMask私钥即可(代码放在文末)
    在这里插入图片描述

  4. 打开终端,运行node deploy.js,等待一段时间后,大家可以看到我们打印出来的合约地址
    在这里插入图片描述

  5. 复制合约地址,进入这个网站:https://rinkeby.etherscan.io/,在搜索框填入合约地址点击搜索
    在这里插入图片描述

  6. 大家就能看到我们把项目发布到了rinkeby测试网了~~。第一天消息便是我们创建合约的消息
    在这里插入图片描述

相关官方知识库

rinkeby的etherscan浏览器

下一章内容:

恭喜大家,我们一起完成了区块链入门的实战,相信大家对整个区块链的项目脉络都有了系统化的了解,在下面一个专栏中,我们将使用hardhat开发一个更加复杂的项目,hardhat是一个区块链的智能开发环境,能很大程度上的支持我们大型项目的开发,而不会被繁琐的配置文件阻碍我们的脚步

下一个专栏:用hardhat部署开发复杂的智能合约(未完成)


欢迎讨论学习⊙﹏⊙

对文章满意的话欢迎点赞收藏,哈哈

我不会对文章设置VIP等限制,有喜欢的朋友可以打赏,打赏也是博主勤更的动力,谢谢你~~

deploy.js更改后的代码:

const ethers = require("ethers");
const fs = require("fs-extra");

async function main() {
  // 连接到以太坊提供的网络
  let provider = new ethers.providers.JsonRpcProvider(
    "https://eth-rinkeby.alchemyapi.io/v2/你自己的api" // infura项目中rinkeby的url
  );
  //用户连接到rinkeby网络
  let wallet = new ethers.Wallet(
    "密码", //metamask私钥,千万别泄露你的私钥
    provider
  );
  //   ethers.types.Signer
  // 获取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.address}`);
}

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值