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

东丽开发区做网站公司响应式网站源码下载

东丽开发区做网站公司,响应式网站源码下载,自己做的网站只能用谷歌浏览器打开,四川造价信息网 信息价使用合约的代码流程(用 ethers.js) ⸻ 先拿到合约地址 • 这个地址是合约部署后生成的唯一标识 • 来源: • 你自己部署合约时得到的 • 或者别人已经部署好的合约地址(公开项目、链上查询) ⸻ 准备 ABI(合…

使用合约的代码流程(用 ethers.js)

  1. 先拿到合约地址
    • 这个地址是合约部署后生成的唯一标识
    • 来源:
    • 你自己部署合约时得到的
    • 或者别人已经部署好的合约地址(公开项目、链上查询)

  1. 准备 ABI(合约的接口描述)
    • ABI 是合约编译后自动生成的 JSON,描述合约方法和事件
    • 来源:
    • 你自己写合约用 Remix、Hardhat 编译后生成的 ABI 文件
    • 如果是公共合约,比如 ERC-20,标准 ABI 可以直接拿(网上或者官方文档)
    • 也可以用 etherscan 上合约页面直接复制 ABI

  1. new 一个合约实例

const contract = new ethers.Contract(address, abi, providerOrSigner);

•	传入三个东西:
•	合约地址(必需)
•	ABI(必需)
•	Provider 或 Signer(决定调用的是只读还是可写接口)

Provider vs Signer 的区别
• Provider:只能调用合约的 view 或 pure 函数(即只读,不花 gas)
• Signer:有权限发起交易,调用修改链上状态的函数(需要 gas)

所以:

const readContract = new ethers.Contract(address, abi, provider); // 只读
const writeContract = new ethers.Contract(address, abi, signer); // 可写(发交易)

  1. 之后就可以调用合约方法
    • 只读方法可以直接 await contract.name() 等调用,得到返回值
    • 可写方法调用返回交易对象 tx = await contract.transfer(…),然后 await tx.wait() 等交易确认

简单示例流程(拿 ERC-20 查询和转账为例)

// 1. 合约地址(比如 USDT)
const address = “0xdAC17F958D2ee523a2206206994597C13D831ec7”;

// 2. 标准 ERC20 ABI(这里只写几个方法)
const abi = [
“function name() view returns (string)”,
“function symbol() view returns (string)”,
“function balanceOf(address) view returns (uint256)”,
“function transfer(address to, uint amount) returns (bool)”
];

// 3. 创建 provider 和 signer(假设是浏览器内注入的 Metamask)
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();

// 4. 创建合约实例
const contractRead = new ethers.Contract(address, abi, provider); // 只读
const contractWrite = new ethers.Contract(address, abi, signer); // 可写

// 5. 调用只读方法
const name = await contractRead.name();
const symbol = await contractRead.symbol();
console.log(name, symbol);

// 6. 调用可写方法(转账)
const tx = await contractWrite.transfer(“0xRecipientAddress”, ethers.utils.parseUnits(“1.0”, 6));
await tx.wait();
console.log(“Transfer confirmed”);

总结

步骤 说明 来源/举例

  1. 合约地址 合约在链上的地址 自己部署、别人公开的地址
  2. ABI 合约接口定义,json格式或简写签名 编译生成、Etherscan、官方
  3. 创建合约实例 new Contract(address, abi, providerOrSigner) 传入 provider 只读,signer 可写
  4. 调用函数 await contract.readFunc() / await contract.writeFunc() 只读直接取值,写调用交易等待确认

http://www.dtcms.com/a/478054.html

相关文章:

  • RabbitMQ为什么使用AMQP协议
  • 阜新本地网站建设平台百度竞价推广价格
  • Linux 系统启动过程
  • 多制式基站综合测试线的架构与验证实践 (2)
  • 如何阿里巴巴网站做推广方案沈阳妇科哪个医院比较专业
  • 合肥网站seo优化排名手机端网站首页怎么做
  • AI人工智能-机器学习-第一周(小白)
  • 【开题答辩过程】以《基于SpringBoot和Vue框架的智能宠物之家系统的设计与实现》为例,不会开题答辩的可以进来看看
  • 告别“手绘序列帧”:Substance Designer中的程序化VFX材质工作流
  • 网站策划与建设阶段的推广的目标办公空间设计网站
  • Ubuntu 24.04.3 LTS 设置静态IP
  • Spring 框架@Transactional注解,事务的各个传播行为的逻辑以及使用场景。
  • 福建巢网站建设chinacd小说wordpress
  • 轻松搭建RTMP推流、WebRTC拉流服务器SRS服务,源码编译安装
  • Linux内核架构浅谈26-Linux实时进程调度:优先级反转与解决方案
  • 企业官方网站建设目的网站基础知识
  • 天水市建设局企业注册网站紧急访问升级狼人通知
  • 计算机视觉进阶教学之颜色识别
  • 实战任务二:用扣子空间通过任务提示词制作精美PPT
  • 【Docker】13、Docker安装RustFS服务
  • 什么是 Web3 品牌?
  • 指纹技术深度剖析:从原理到实践的全方位探索
  • 在 MySQL 中,当使用 SUM() 函数对某列进行求和时,如果没有符合条件的记录(即查询结果为空),SUM() 会返回 NULL
  • 公司全场景运营中 PPT 的类型、功能与作用详解
  • WHAT - SQLite 数据库
  • 网站开发 工程师 类型电商网站文档
  • 框架--Swagger
  • 网站设计的基本步骤有意思的网站
  • Ethernaut Level 10: Re-entrancy - 经典重入攻击详解
  • 维星AI GEO优化:AI搜索引擎时代,企业如何抢占流量C位?