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

关于网站建设广告词网站全局参数设置

关于网站建设广告词,网站全局参数设置,网站模板侵权问题,物联网开发用什么语言viem是一个用于和以太坊进行交互的javascript库#xff0c;它提供了简单的API进行智能合约的读取和写入操作#xff0c;你可以使用它来与区块链上智能合约进行交互#xff0c;查询链上数据等。 基本功能 1#xff0c;创建公有客户端 createPublicClient 可以创建一个链接…viem是一个用于和以太坊进行交互的javascript库它提供了简单的API进行智能合约的读取和写入操作你可以使用它来与区块链上智能合约进行交互查询链上数据等。 基本功能 1创建公有客户端 createPublicClient 可以创建一个链接到区块链的公有客户端通常用于查询数据。 import { createPulicClient,http} from viem const client creatPublicClient({ chain:etherum,//链名 transport:http(https://mainnet.infura.io/v3), //节点 })参数 说明 chain 指定要连接的区块链网络如 mainnet, goerli, sepolia transport 连接方式通常是 http() 或 webSocket()其他可用 publicClient 方法 获取账户余额 const balance await client.getBalance({address: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e, }); console.log(ETH 余额:, balance);获取当前 gas 价格 const gasPrice await client.getGasPrice(); console.log(当前 Gas 价格:, gasPrice);获取交易信息 const tx await client.getTransaction({hash: 0x交易哈希, }); console.log(交易详情:, tx);✅ 总结 createPublicClient 适用于读取链上数据区块、交易、余额、智能合约。 适用于 无私钥 操作不涉及交易发送。 可以与 Alchemy、Infura 等 RPC 服务提供商配合使用。 如果你想发送交易或者调用合约的 write 方法你需要一个钱包客户端createWalletClient它支持 发送 ETH 转账 调用智能合约 方法如 approve, transfer, swap 进行 EIP-1559 交易 离线签名 交易并广播 1. 创建钱包客户端createWalletClient 如果你要发送交易必须使用私钥或连接钱包。 import { createWalletClient, http, privateKeyToAccount } from viem; import { mainnet } from viem/chains;// 通过私钥创建账户 const account privateKeyToAccount(0xYOUR_PRIVATE_KEY);// 创建钱包客户端 const walletClient createWalletClient({account,chain: mainnet,transport: http(https://eth-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_API_KEY), });console.log(钱包地址:, account.address);注意使用私钥时请确保安全存储避免泄露 2. 发送 ETH 转账 使用 sendTransaction() 发送 ETH 到目标地址 import { parseEther } from viem;const txHash await walletClient.sendTransaction({to: 0xRecipientAddress, // 目标地址value: parseEther(0.01), // 发送 0.01 ETH });console.log(交易哈希:, txHash);解释 to接收 ETH 的钱包地址 value发送的 ETH 金额使用 parseEther() 处理 txHash返回的交易哈希可用于查询交易状态 2获取合约实例 getContract 用于获取智能合约实例并允许你与合约进行交互。 import {getContract } from view const contract getContract(client,{ address:, //合约地址 abi:[], //合约abi });3,调用合约的函数 授权 ERC-20 代币approve 方法 如果你要在 DEX如 Uniswap上进行交易需要先授权合约能使用你的代币。 const txHash await walletClient.writeContract({address: 0xA0b86991c6218b36c1d19D4a2e9eb0cE3606e48c, // USDC 合约地址abi: parseAbi([function approve(address spender, uint256 amount) public returns (bool),]),functionName: approve,args: [0xSpenderContractAddress, parseEther(1000)], // 授权 1000 USDC });console.log(授权交易哈希:, txHash);适用于 Uniswap / PancakeSwap 交易前给 DEX 合约授权 质押 Staking 前给 Staking 合约授权 5. 监听交易状态 提交交易后你可以轮询或监听交易状态 import { waitForTransactionReceipt } from viem;const receipt await waitForTransactionReceipt(client, { hash: txHash }); console.log(交易成功 ✅, receipt);适用于 确保交易成功后执行后续操作比如显示 UI 提示 监听 status 是否 success 6. EIP-712 签名Permit 授权 Meta 交易 如果合约支持 EIP-712如 Permit 授权无需 approve你可以使用 signTypedData() const signature await walletClient.signTypedData({domain: {name: MyDApp,version: 1,chainId: 1,verifyingContract: 0x1234567890abcdef1234567890abcdef12345678,},types: {Permit: [{ name: owner, type: address },{ name: spender, type: address },{ name: value, type: uint256 },{ name: nonce, type: uint256 },{ name: deadline, type: uint256 },],},primaryType: Permit,message: {owner: 0xYourWalletAddress,spender: 0xSpenderContractAddress,value: parseEther(1000),nonce: 1,deadline: Math.floor(Date.now() / 1000) 3600, // 1 小时后过期}, });console.log(EIP-712 签名:, signature);适用于 Gasless 交易如 EIP-2612 Permit Meta 交易第三方代付 Gas 7. 创建自定义交易 如果你想自定义交易参数可以手动指定 gasLimit、maxPriorityFeePerGas 等 const txHash await walletClient.sendTransaction({to: 0xRecipientAddress,value: parseEther(0.01),maxFeePerGas: parseGwei(20), // 手动设置 Gas 费用maxPriorityFeePerGas: parseGwei(2),gasLimit: 21000, // 手动设置 gas 限额 }); console.log(自定义交易哈希:, txHash);总结 viem 提供了比 ethers.js 更轻量级、类型安全的 Web3 交互方案非常适合 DApp、交易所、NFT 平台开发
http://www.dnsts.com.cn/news/80355.html

相关文章:

  • 福建省建设法制协会网站书生商友软件怎么样
  • 代网站备案费用软件开发工程师的招聘简章
  • 网站建设与管理课程的目标网站建设公司星海网络
  • 淘宝联盟网站推广位怎么做怎么看别人的wordpress
  • 订餐网站建设互动平台网站
  • 合肥网站建设模板系统桂林dj网站
  • 做企业网站需要提供什么资料企业系统集成
  • 百度站长平台推出网站移动化大赛数据分析系统搭建
  • 企业网站开发实训目的和意义html静态网站模板
  • 深圳低价做网站重庆万州网站建设哪家好
  • 杭州做产地证去哪个网站网站的建设方法有哪些内容
  • 优秀网站设计有哪些购物网站建设项目可研报告
  • 徐州网站制作公司哪家好请简述常用的网页制作工具
  • 中企动力建的网站如何网站建设遇到哪些攻击
  • 海城网站建设宁波派桑网站建设
  • 平邑哪里有做网站的开发利用水资源
  • 绍兴建设网站制作asp网站开发教案
  • 免费网站建设多少钱成都有名的建筑公司有哪些
  • PHP网站开发与管理设计心得资阳做网站
  • 淮北市建设安全监督站网站工信部查网站备案
  • 建设网站初步目标咋写京东网站建设的详细策划
  • 淘宝网站开发系统最新购物平台
  • 服务器网站80端口打不开wordpress仿蛙壳网主题
  • 网站建设询价单网站开发实验结论
  • 做网络课堂的平台有哪些网站wordpress双语
  • 搭建网站全过程什么是网站黑链
  • 网站渗透外贸访问国外网站
  • 网站搜索页面怎么做湖南省建设厅向汉东
  • 做网站 分辨率应该是多少苏南网站建设
  • 网站跟wordpress连接公司网站如何被百度收录