位置: IT常识 - 正文

关于web3.js中与交易发送、交易签名、智能合约函数调用相关api的理解(关于javascript)

编辑:rootadmin
关于web3.js中与交易发送、交易签名、智能合约函数调用相关api的理解

推荐整理分享关于web3.js中与交易发送、交易签名、智能合约函数调用相关api的理解(关于javascript),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:web3.js文档,web3js approve,关于javascript,关于javascript,web3.0举例,web3js approve,web3js,web3js approve,内容如对您有帮助,希望把文章链接给更多的朋友!

web3.js中有一些与交易发送、签名、合约函数调用相关的api,初学者(如me)常常搞不清什么情况下应该调用哪个,以及它们之间的区别。现将个人浅见记录如下,备忘。

sendTransaction

web3.eth.sendTransaction(transactionObject [, callback])

transactionObject对象设置交易的各种参数(不包括签名r,s,v),签名过程由api根据from地址自动完成。

sendSignedTransactionweb3.eth.sendSignedTransaction(signedTransactionData [, callback])

发送已签名的交易,交易签名可以通过 web3.eth.accounts.signTransaction 生成。

 signTransactionweb3.eth.signTransaction(transactionObject, address [, callback])

 签名交易,由address指定对应的账户进行签名。

signweb3.eth.sign(dataToSign, address [, callback])

使用指定账户对数据进行签名

callweb3.eth.call(callObject [, defaultBlock] [, callback])关于web3.js中与交易发送、交易签名、智能合约函数调用相关api的理解(关于javascript)

执行一个消息调用交易,消息调用交易直接在节点旳 VM 中而不需要通过区块链挖矿来执行。

callObject交易对象的data属性包含合约函数调用数据的 ABI 字节字符串 ,对合约创建交易来说,其值为合约初始化代码。

new contractnew web3.eth.Contract(jsonInterface[, address][, options])

生成合约实例,若不设置address参数,则部署新的合约实例到网络中。

methods.myMethod.callmyContract.methods.myMethod([param1[, param2[, ...]]]).call(options[, callback])

将在不发送交易的情况下调用该“常量”方法并在 EVM 中执行其智能合约方法。注意此种调用方式无法改变智能合约状态。

methods.myMethod.sendmyContract.methods.myMethod([param1[, param2[, ...]]]).send(options[, callback])

向合约发送交易来执行其方法。注意这会改变合约状态。

methods.myMethod.encodeABImyContract.methods.myMethod([param1[, param2[, ...]]]).encodeABI()

为指定的合约方法进行 ABI 编码,可用于发送交易、调用方法或向另一个合约方法传递参数。

signTransactionweb3.eth.accounts.signTransaction(tx, privateKey [, callback]);

使用给定的私钥签名以太坊交易。

signweb3.eth.accounts.sign(data, privateKey);

签名任意数据。注意,此函数与web3.eth.sign(dataToSign, address [, callback])的区别,后者只需要通过地址来指定由谁来签名,api内部必定可以获取其私钥。

上述函数具体用法请参照对应版本web3.js的文档说明,如:web3.eth.accounts — web3.js 中文文档 — 登链社区https://learnblockchain.cn/docs/web3.js/web3-eth-accounts.html#sign

 注:理论上,所有发起交易的函数都必须有私钥进行签名操作。但上述某些函数只需指定公钥地址就能完成该功能,原因是web3.js所连接的providers为指定的公钥地址保存了对应的私钥,在后台可以自动完成签名动作,当然这种情形多见于使用ganache等测试环境中。正常情况下(如在Dapp中)需要web3.js连接用户的私钥钱包,签名动作由用户手动确认完成。

补充:web3.js会在底层将函数调用转为json-rpc的请求,其中不用创建交易的使用eth_call,创建交易的使用eth_sendTransaction,若需要在本地签名然后发送交易则使用eth_sendRawTransaction

本文链接地址:https://www.jiuchutong.com/zhishi/283815.html 转载请保留说明!

上一篇:McWCECfg.exe是什么进程 McWCECfg进程查询(mc office是什么意思)

下一篇:Linux 学习笔记——五、文件与目录(linux入门学习)

  • 全国携号转网倒计时(全国携号转网)(2021携号转网后的真实感受)

    全国携号转网倒计时(全国携号转网)(2021携号转网后的真实感受)

  • 佳能打印机怎么重置wifi(佳能打印机怎么换墨盒)

    佳能打印机怎么重置wifi(佳能打印机怎么换墨盒)

  • 华为p40与p30pro区别(华为p40跟p30pro区别)

    华为p40与p30pro区别(华为p40跟p30pro区别)

  • 嘀嗒拼车1+1拼车规则(嘀嗒拼车1+1拼车后先去接谁)

    嘀嗒拼车1+1拼车规则(嘀嗒拼车1+1拼车后先去接谁)

  • qq手机达人几天不登会灭(qq手机达人几天不登会消失)

    qq手机达人几天不登会灭(qq手机达人几天不登会消失)

  • 淘宝主页图片标准尺寸(淘宝主图标签怎么弄)

    淘宝主页图片标准尺寸(淘宝主图标签怎么弄)

  • 钉钉视频会议屏幕共享视频没有声音(钉钉视频会议屏幕共享后显示学生头像)

    钉钉视频会议屏幕共享视频没有声音(钉钉视频会议屏幕共享后显示学生头像)

  • iphonex指纹锁怎么设置(iphone x指纹)

    iphonex指纹锁怎么设置(iphone x指纹)

  • 三星s10怎么OTG功能用不了(三星s10手机ot g在哪儿打开)

    三星s10怎么OTG功能用不了(三星s10手机ot g在哪儿打开)

  • oppo屏幕旁边白条(oppo手机屏幕边上有白斑)

    oppo屏幕旁边白条(oppo手机屏幕边上有白斑)

  • 没有主机箱怎么开机(没有机箱怎么装机)

    没有主机箱怎么开机(没有机箱怎么装机)

  • vivo手机开发者模式怎么开(vivo手机开发者模式怎么关闭)

    vivo手机开发者模式怎么开(vivo手机开发者模式怎么关闭)

  • 对方微信号被限制登录是什么意思啊(对方微信号被限制登录多久能解封)

    对方微信号被限制登录是什么意思啊(对方微信号被限制登录多久能解封)

  • word设置底纹图案样式(word设置底纹图案样式为12.5%)

    word设置底纹图案样式(word设置底纹图案样式为12.5%)

  • 微信非对方朋友啥意思(微信非对方朋友显示十条朋友圈)

    微信非对方朋友啥意思(微信非对方朋友显示十条朋友圈)

  • 爱奇艺手机下载的视频在哪个位置(爱奇艺手机下载的视频在电脑上可以看吗?)

    爱奇艺手机下载的视频在哪个位置(爱奇艺手机下载的视频在电脑上可以看吗?)

  • iphone8长度是13.5cm吗(iphone8的长宽)

    iphone8长度是13.5cm吗(iphone8的长宽)

  • word文档上角标(word文档角标怎么弄)

    word文档上角标(word文档角标怎么弄)

  • vivo手机怎么上内存卡(vivo手机怎么上卡)

    vivo手机怎么上内存卡(vivo手机怎么上卡)

  • 喵喵机打印不出来怎么办(喵喵机打印不出纸)

    喵喵机打印不出来怎么办(喵喵机打印不出纸)

  • 嘀嗒拼车怎么删除记录(嘀嗒拼车怎么删订单记录)

    嘀嗒拼车怎么删除记录(嘀嗒拼车怎么删订单记录)

  • 苹果11双卡怎么切换(苹果11双卡怎么用法)

    苹果11双卡怎么切换(苹果11双卡怎么用法)

  • 蓝牙耳机怎么设置弹窗(蓝牙耳机怎么设置自动接听)

    蓝牙耳机怎么设置弹窗(蓝牙耳机怎么设置自动接听)

  • airpods大小尺寸(airpods大小尺寸一样吗)

    airpods大小尺寸(airpods大小尺寸一样吗)

  • 巧影三屏制作方法(巧影怎么制作双屏视频)

    巧影三屏制作方法(巧影怎么制作双屏视频)

  • 小米8指纹失灵(小米指纹失灵修复小技巧)

    小米8指纹失灵(小米指纹失灵修复小技巧)

  • 2021.1最新win10激活秘钥/产品秘钥/激活码推荐 附激活工具+教程(window10最新激活码)

    2021.1最新win10激活秘钥/产品秘钥/激活码推荐 附激活工具+教程(window10最新激活码)

  • 从塞维利亚的都市阳伞俯瞰城市,西班牙 (© LucVi/Shutterstock)(塞维利亚是港口吗?)

    从塞维利亚的都市阳伞俯瞰城市,西班牙 (© LucVi/Shutterstock)(塞维利亚是港口吗?)

  • Win11系统自带输入法怎么卸载?Win11自带输入法删除方法(Win11系统自带输入法怎么卸载)

    Win11系统自带输入法怎么卸载?Win11自带输入法删除方法(Win11系统自带输入法怎么卸载)

  • python网页窗口如何切换(python如何点击网页按钮)

    python网页窗口如何切换(python如何点击网页按钮)

  • 农业企业免哪些税款
  • 公司股东变更需要本人到场吗
  • 货物已到发票未开具
  • 企业所得税如何抵扣
  • 银行承兑汇票是什么科目
  • 售后维修收入怎么入账
  • 全资收购企业需要交税吗
  • 年报后 申报报表年初数会调整吗
  • 环保科技属于什么行业类别
  • 库存商品暂估入库
  • 工伤医疗费全赔吗
  • 企业资产减值准备
  • 建总账的注意事项
  • 营改增后商场进场费如何缴税?
  • 融资租赁的租金包括
  • 服务费专票普票
  • 稿酬所得税额
  • 小规模纳税人开专票税率是1%还是3%
  • 员工出差报销制度
  • 如何确定赊销额度
  • 建筑业跨区预缴增值税未预缴
  • 增值税未抵扣进项税
  • 专票电话写错了怎么办
  • 应收及预付款项包括( )
  • 报销误餐费会计怎么做账
  • win11怎么关闭进程
  • 开业庆典的活动内容
  • linux deepin怎么样
  • Win10宽带无法连接
  • 方正电脑u盘启动按什么键
  • win7如何禁用wifi
  • linux多网卡聚合
  • 设置pin是什么意思
  • 出租包装物和出售包装物有什么区别
  • smarty怎么用
  • css中哪些属性可以使用
  • 若依框架用到的技术
  • ntpd命令
  • 增值税期末留抵退税
  • 纸质承兑财务章怎么盖
  • 汇算清缴后缴纳的企业所得税怎么做分录
  • 开票金额应该含增值税吗
  • 年末关账注意事项
  • 企业哪些增值税免征
  • 代销手续费未付怎么处理
  • 税法中减除和减退的区别
  • 公司房租发票是法人名字能入账吗安全吗
  • 残保金逾期申报了补报会有罚款和滞纳金吗?
  • 未开票的收入如何确认分录
  • 工伤保险交了就可以报销吗
  • 纳税评估补缴的增值税影响所得税吗
  • 五金领用流程
  • 汽车折旧年限是多久
  • mysql 优化口诀
  • 怎么禁止p2p下载器
  • centos直接安装
  • win8如何安装win10系统
  • Red Hat Enterprise Linux AS4( 企业版4.0下载)
  • win8系统开机桌面文件不见了
  • window7窗口
  • win1020h2版好不好
  • linux讲解
  • win7专用字符编辑程序的使用方法
  • 怎么在linux中安装软件
  • 高通umb
  • mac中quick-cocos2dx-2.2.5+sublime text 2搭建lua的开发环境
  • 原生js制作日历软件
  • 安卓开发遇到的问题
  • 批处理修改文件后缀名
  • unity3d功能介绍
  • unauthorizedAccessException
  • js继承的三种方法
  • 财政票据和税务票据的法律效力一样吗
  • 如何打印个人所得税证明
  • 2021年吉林省城乡居民基础养老金是多少
  • 纳税人如何划分
  • 深圳市国家税务局电话
  • 北京车过户到廊坊标准
  • 应缴增值税
  • 农副产品批发价
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设