当前位置: 首页 > wzjs >正文

办公室工作绩效 网站建设深圳网站制作公司报价

办公室工作绩效 网站建设,深圳网站制作公司报价,庞各庄网站建设公司,产品全网营销推广部署合约(用 ContractFactory)。 这个阶段你会接触很多智能合约开发的关键概念,比如: ⸻ 🚀 先来理清这些核心概念 概念 简单理解 部署合约 把你的 Solidity 代码变成机器能跑的字节码,发上链,得…

部署合约(用 ContractFactory)。
这个阶段你会接触很多智能合约开发的关键概念,比如:

🚀 先来理清这些核心概念

概念 简单理解
部署合约 把你的 Solidity 代码变成机器能跑的字节码,发上链,得到一个合约地址
合约工厂 (ContractFactory) ethers.js 的一个工具,用来根据 ABI + bytecode 创建和部署合约
ABI 描述合约的方法签名,告诉 JS 怎么跟合约交互
Bytecode 合约编译后生成的二进制机器码,用来真正部署到链上
ERC20 一种以太坊代币标准。通常演示部署都会拿它举例
deploy() 调用后会把合约字节码发送到链上,触发矿工打包,返回部署后的合约实例(有地址)

🖼 部署合约的完整流程图

[ Solidity 文件 ]
↓ 编译
[ ABI + Bytecode ]

[ ethers.ContractFactory ]

[ deploy() ]

[ 等待链上确认 ]

[ 得到合约地址 ]

[ new ethers.Contract(address, abi, signer) ]

[ 调用合约方法 ]

🔥 实际代码流程(以部署 ERC20 为例)

1️⃣ 编译你的合约,拿到 ABI 和 Bytecode

一般用 Hardhat:

npx hardhat compile

会在 artifacts/ 里生成:
• MyERC20.json 文件
• 里面包含:
• abi
• bytecode

2️⃣ 在 ethers.js 里创建 ContractFactory

import { ethers } from “ethers”;
import MyERC20Json from “./artifacts/contracts/MyERC20.sol/MyERC20.json”;

// 1. 连接 provider 和 signer(比如用私钥)
const provider = new ethers.JsonRpcProvider(“https://sepolia.infura.io/v3/…”);
const wallet = new ethers.Wallet(“0xYOUR_PRIVATE_KEY”, provider);

// 2. 准备 abi + bytecode
const abi = MyERC20Json.abi;
const bytecode = MyERC20Json.bytecode;

// 3. 创建 ContractFactory
const factory = new ethers.ContractFactory(abi, bytecode, wallet);

•	这里的 factory 就相当于一个「合约生成器」。

3️⃣ 调用 deploy()

// ERC20 的构造函数一般需要传 name, symbol
const contract = await factory.deploy(“MyToken”, “MTK”);

// 部署交易发出后,你可以得到部署 tx
console.log(“Deploy tx hash:”, contract.deployTransaction.hash);

// 等待上链确认
await contract.deploymentTransaction().wait();

// 这样就得到合约地址了
console.log(“Deployed at:”, contract.target);

•	deploy 会发起一笔创建合约的交易。
•	contract.target(ethers v6)就是合约的地址(v5 用 contract.address)。

4️⃣ 部署完后就可以用合约了

你直接拿这个 contract 就可以调用合约函数:

const totalSupply = await contract.totalSupply();
console.log(“Total supply:”, totalSupply.toString());

💡 小结关键点

✅ 合约工厂 (ContractFactory)
• 类似一个「工厂」,把 abi + bytecode + signer 绑定在一起
• 可以多次 .deploy(…),每次都是部署新的实例。

✅ deploy() 会发起链上交易
• 部署的过程就像转账一样,需要矿工打包 & 等待确认
• 所以 await deploy() 会阻塞到链上有了合约地址。

✅ 部署完就得到合约地址
• 以后要调用这个合约,就可以用

new ethers.Contract(contract.target, abi, signer)

(ethers v6 用 target,ethers v5 用 address)

🔥 最小完整示例

import { ethers } from “ethers”;
import TokenJson from “./artifacts/contracts/MyERC20.sol/MyERC20.json”;

async function main() {
const provider = new ethers.JsonRpcProvider(“https://sepolia.infura.io/v3/…”);
const wallet = new ethers.Wallet(“0xYOUR_PRIVATE_KEY”, provider);

const factory = new ethers.ContractFactory(TokenJson.abi, TokenJson.bytecode, wallet);const token = await factory.deploy("MyToken", "MTK");
console.log("Deploying... Tx hash:", token.deployTransaction.hash);await token.deploymentTransaction().wait();
console.log("Deployed at:", token.target);// 调用 ERC20 方法
const name = await token.name();
console.log("Token name:", name);

}

main();

如果你想:
✅ 我可以写一份从零 Hardhat 项目 + ethers.js 脚本的完整模板给你
✅ 也可以用 npx hardhat node 在本地搭建一个测试链,免费测试部署

要不要?告诉我 🚀


文章转载自:

http://TcNfZafN.tqqhm.cn
http://5asAB4wP.tqqhm.cn
http://UimBG4P0.tqqhm.cn
http://JiLXCBhY.tqqhm.cn
http://yCjgr6EA.tqqhm.cn
http://kOirZM8S.tqqhm.cn
http://3MOWEvYM.tqqhm.cn
http://I250OPRm.tqqhm.cn
http://G7SyfcZz.tqqhm.cn
http://za9ox44o.tqqhm.cn
http://ruE8Djap.tqqhm.cn
http://40pJ6yoM.tqqhm.cn
http://tqhPtXlP.tqqhm.cn
http://9B3ZPdk2.tqqhm.cn
http://gEIUfXhg.tqqhm.cn
http://AB4IrKqP.tqqhm.cn
http://ySLy3SXl.tqqhm.cn
http://i4ZpmWKW.tqqhm.cn
http://1pyVueHs.tqqhm.cn
http://Z9Thv30b.tqqhm.cn
http://SF8oI2ZD.tqqhm.cn
http://7GaPVgS7.tqqhm.cn
http://5zB52Q9h.tqqhm.cn
http://e2D6GHew.tqqhm.cn
http://B5Y2xZoq.tqqhm.cn
http://p5aLDsAy.tqqhm.cn
http://QDD6IzeE.tqqhm.cn
http://4gGtDxnT.tqqhm.cn
http://BkysJJKz.tqqhm.cn
http://Pj85IIBc.tqqhm.cn
http://www.dtcms.com/wzjs/691475.html

相关文章:

  • 建站平台有哪些免费一键搭建网站常德建设公司网站
  • 用wordpress搭建网站免费做效果图的网站有哪些
  • 滨州正规网站建设公司龙港做网站店铺
  • 金融视频直播网站开发互联网创意网站有哪些
  • sdcms网站建设模板好网站制作公司有哪些
  • 优化推广网站怎么做周口学做网站
  • 网站开发项目分析模板深圳找做网站
  • 常州建设网站代理商响应式网页设计方法
  • 网站建设doc广告推广费用
  • 怎样建设个人游戏网站个人网站设计企业
  • 网站防止采集毕业设计静态网站建设选题依据
  • 网站建设 上海浦东网站分为几种类型
  • 做海报素材网站推荐企业官网建站费用
  • 自己做的视频网站上传电影做网站的高手
  • 网站建设成本明细苏州seo培训
  • 请别人做网站会不会被盗专门做外国的网站
  • 洞头网站建设做网站自动赚钱
  • 电子商务网站建设与原理网站结构合理
  • 购物网站制作实例做网站用是内网穿透好
  • 如何判断网站seo做的好坏网站开发立项申请表
  • 电商网站建设服务平台外包公司和公司直招哪个好
  • 温州敎玩具网站建设有经验的顺德网站建设
  • 太原网站制作开发如何查看网站开发语言
  • 在线看免费网站延安网站建设公司
  • 最大的开源网站wordpress使用文档
  • 常州网站推广方法找推广平台需要多少钱
  • 网站利用e4a做app公众号微网站建设认证
  • 做网站 带宽 多少钱京东网站的建设目的
  • 鞍山做网站团队品牌seo如何优化
  • 网站开发使用的语言有哪些成都小程序建设廴成都柚米