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

淘客网站怎么做排名百度推广价格

淘客网站怎么做排名,百度推广价格,seo sem是什么,基于web的在线电影网站设计1. 核心设计理念 ---------web3.jsethers.js开发背景以太坊基金会官方维护独立开发者创建,社区驱动架构风格集中式对象 (web3 为核心)模块化设计(分离 Wallet/Provider/Contract)包体积较大(1MB)更轻量(压…

1. 核心设计理念

---------web3.jsethers.js
开发背景以太坊基金会官方维护独立开发者创建,社区驱动
架构风格集中式对象 (web3 为核心)模块化设计(分离 Wallet/Provider/Contract)
包体积较大(1MB+)更轻量(压缩后约 300KB)
TypeScript类型支持较弱原生完整类型定义

2. API 风格对比

创建钱包
<JAVASCRIPT>
// web3.js
const account = web3.eth.accounts.create();
const { address, privateKey } = account;
// ethers.js
const wallet = ethers.Wallet.createRandom();
const { address, privateKey } = wallet;
发送交易
<JAVASCRIPT>
// web3.js
const txHash = await web3.eth.sendTransaction({from: address,to: "0x...",value: web3.utils.toWei("1", "ether")
});
// ethers.js
const tx = await wallet.sendTransaction({to: "0x...",value: ethers.parseEther("1")
});
const receipt = await tx.wait(); // 自动等待确认

3. 关键功能差异

功能web3.jsethers.js
大整数处理使用 BN.js 或 BigNumber.js原生支持 JavaScript 的 BigInt
合约事件监听依赖 subscribe 方法使用 contract.on 事件过滤器
错误处理统一错误类型细粒度错误类型(如 TransactionReplaced)
ABI 编码自动填充默认参数严格类型校验
Provider 抽象仅支持以太坊节点通信支持多链(通过自定义 Provider)

4. 异步处理模式

web3.js 的回调风格
<JAVASCRIPT>
web3.eth.getBlockNumber((err, blockNumber) => {if (!err) console.log(blockNumber);
});
ethers.js 的 Promise 优先
<JAVASCRIPT>
const blockNumber = await provider.getBlockNumber();
console.log(blockNumber);

5. 生态系统支持

-----web3.jsethers.js
开发者工具与 Truffle 深度集成与 Hardhat 生态更紧密
流行框架更多历史项目使用新项目采用率更高
文档质量分散(不同版本差异大)统一且结构清晰

6. 安全性对比

私钥管理
<JAVASCRIPT>
// web3.js 直接暴露私钥
const account = web3.eth.accounts.privateKeyToAccount(privateKey);
// ethers.js 加密钱包
const encryptedJson = await wallet.encrypt("password");
const restoredWallet = await ethers.Wallet.fromEncryptedJson(encryptedJson, "password");
交易重放保护
web3.js:需手动处理 nonce
ethers.js:自动管理 nonce(可通过 wallet.getTransactionCount() 覆盖)

7. 开发体验差异

智能合约交互
<JAVASCRIPT>
// web3.js
const contract = new web3.eth.Contract(abi, address);
const result = await contract.methods.getValue().call();
// ethers.js
const contract = new ethers.Contract(address, abi, wallet);
const result = await contract.getValue();
单位转换
<JAVASCRIPT>
// web3.js
const weiValue = web3.utils.toWei("1.5", "ether");
// ethers.js
const weiValue = ethers.parseEther("1.5"); // 直接返回 BigInt

8. 适用场景建议

场景推荐选择理由
新项目开发ethers.js轻量、现代、TypeScript 友好
维护旧项目web3.js避免重构成本
需要多链支持ethers.js更易扩展自定义 Provider
复杂交易场景ethers.js细粒度的错误类型和事件处理
与 Truffle 集成web3.js历史项目常用组合
http://www.dtcms.com/wzjs/25642.html

相关文章:

  • 如何重建网站网站的友情链接是什么意思
  • 网站建设赚钱项目创量广告投放平台
  • 公司网站建设做分录广告投放这个工作难不难做
  • 猎头自己在哪个网站做单怎样在平台上发布信息推广
  • 代做网站地图深圳sem竞价托管
  • 做网站什么笔记本好用制作网页的步骤
  • 日本真人做的视频网站厦门人才网唯一官网招聘
  • 麻涌仿做网站职业培训热门行业
  • 设计网站建十大经典事件营销案例
  • 如何评判一个网站建设的怎么样营销型网站的类型有哪些
  • 付费做SPaSS统计分析的网站超级软文
  • 微信上的网站怎么做的吗营销渠道的概念
  • 个人网站备案入口销售网站
  • 山西企业建站系统平台怎样做网络销售平台
  • 买空间的网站好湖北seo
  • 高端网站开发的公司电话销售怎么找客户渠道
  • 泊头市有做网站的吗昆明优化网站公司
  • 谷歌推广网站建设网络搜索优化
  • 计算机网络网站开发软文推广系统
  • 给个网站做导航违法吗seo和网络推广有什么区别
  • 广州微网站建设效果百度文库网页版登录入口
  • dede做购物网站希爱力吃一颗能干多久
  • 济南网站建设专业竞价关键词排名软件
  • 网站如何做外链教程视频舆情网站直接打开的软件
  • 中国企业500强第一名是谁北京seo课程
  • 影楼风五年级上册优化设计答案
  • 请人做网站要多广州专业网络推广公司
  • wordpress网站文章加密网络广告文案范文
  • 兼职游戏网站怎么做正规微商免费推广软件
  • 运城百姓网免费发布信息网临安网站seo