位置: 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入门学习)

  • qq音乐怎么看等级成长值(qq音乐怎么看等级排行)

    qq音乐怎么看等级成长值(qq音乐怎么看等级排行)

  • Redmi K30 Pro支持双模5G吗(redmi k30 pro支持快充多少瓦)

    Redmi K30 Pro支持双模5G吗(redmi k30 pro支持快充多少瓦)

  • appstore图片加载不出来怎么办(apple store图片加载不出来)

    appstore图片加载不出来怎么办(apple store图片加载不出来)

  • Excel怎么复制筛选后的表格(excel中,怎样复制筛选出来数据)

    Excel怎么复制筛选后的表格(excel中,怎样复制筛选出来数据)

  • 淘宝昵称被改怎么回事(淘宝昵称被改怎么恢复)

    淘宝昵称被改怎么回事(淘宝昵称被改怎么恢复)

  • 小米洗手液机器闪黄灯(小米洗手液机器说明书)

    小米洗手液机器闪黄灯(小米洗手液机器说明书)

  • 手机电脑的芯片主要有(手机电脑的芯片主要有什么材质)

    手机电脑的芯片主要有(手机电脑的芯片主要有什么材质)

  • applewatch怎么看浏览器(applewatch怎么看gps和蜂窝版外观)

    applewatch怎么看浏览器(applewatch怎么看gps和蜂窝版外观)

  • m1806d9pe是小米平板几(小米m1806d9e是什么型号)

    m1806d9pe是小米平板几(小米m1806d9e是什么型号)

  • Word怎么删除空格(word怎么删除空白段落)

    Word怎么删除空格(word怎么删除空白段落)

  • rar用什么软件打开(rar文件用什么压缩软件)

    rar用什么软件打开(rar文件用什么压缩软件)

  • 电脑微信听不了语音咋回事(电脑微信听不了语音)

    电脑微信听不了语音咋回事(电脑微信听不了语音)

  • 荣耀20与20s的区别(荣耀20和荣耀20s哪个更值得入手)

    荣耀20与20s的区别(荣耀20和荣耀20s哪个更值得入手)

  • 电脑摄像头像素一般是多少(电脑摄像头像素在哪看)

    电脑摄像头像素一般是多少(电脑摄像头像素在哪看)

  • 美版xsmax怎么用双卡(美版xsmax解锁教程)

    美版xsmax怎么用双卡(美版xsmax解锁教程)

  • oppoa5死机了怎么重启(oppoa5手机突然死机)

    oppoa5死机了怎么重启(oppoa5手机突然死机)

  • 苹果max是2k屏幕吗(苹果xs max是2k屏幕么)

    苹果max是2k屏幕吗(苹果xs max是2k屏幕么)

  • 超链接怎么去下划线(超链接怎么去下划线html)

    超链接怎么去下划线(超链接怎么去下划线html)

  • 手机位置信息有啥用(手机位置信息有个感叹号)

    手机位置信息有啥用(手机位置信息有个感叹号)

  • 简述mapreduce工作原理(简述mapreduce的主要功能)

    简述mapreduce工作原理(简述mapreduce的主要功能)

  • 怎么查看定时说说(怎么查看定时说说记录)

    怎么查看定时说说(怎么查看定时说说记录)

  • 抖音怎么看对方微信号(抖音怎么看对方关注了哪些人)

    抖音怎么看对方微信号(抖音怎么看对方关注了哪些人)

  • 苹果x侧键怎么设置(苹果x侧键怎么拆)

    苹果x侧键怎么设置(苹果x侧键怎么拆)

  • 鸿蒙怎么绑定电子身份证?鸿蒙绑定电子身份证教程(鸿蒙怎么添加)

    鸿蒙怎么绑定电子身份证?鸿蒙绑定电子身份证教程(鸿蒙怎么添加)

  • HTML5新增的标签(html5新增的标签元素有哪些)

    HTML5新增的标签(html5新增的标签元素有哪些)

  • 发票上的收款人复核开票人
  • 公司名下的车过户到个人名下费用
  • 环保税退税优惠政策
  • 无法收回的应收账款情况说明
  • 小规模纳税人购车是怎么抵税的
  • 上月未抵扣完的进项税额
  • 直接减免的增值税属于财政性资金吗
  • 个体户季度报税表怎么填
  • 分支机构企业所得税计提和缴纳数额不一致怎么办?
  • 公司利润不分配可以怎么处理
  • 代扣代缴个人所得税税率表
  • 房地产企业税负率
  • 管理费用明细是什么意思
  • 金蝶标准版利润表季度怎么选
  • 进项大于销额如何处理账务处理?
  • 建设项目投资中的预备费包括
  • 推广费属于什么税收编码
  • 给员工租房会承担什么责任
  • mac怎么访问路径
  • 年度利润总额是会计利润吗
  • 中介公司代发工资合法吗
  • 中途建账科目余额表怎么建
  • 如何在电脑管家里把健康小程序提取出
  • 长期投资损失的确认
  • i911900k与10900k
  • 冲办公费会计分录
  • 用友结转所得税费用
  • macOS Big Sur 11.3 开发者预览版/公测版 Beta 6正式发布
  • 商业折扣影响税费吗
  • linux操作系统文件系统
  • php 正则表达式
  • php中使用什么关键字定义常量
  • h5能不能自动播放
  • 怎么安装vue2.0
  • 农产品收购发票管理办法
  • vue 长列表优化
  • 小型微利企业所得税优惠政策2023
  • last命令详解
  • 其他科技推广服务业可以加计扣除吗
  • 未核定月数是什么
  • 逾期的押金税率是多少
  • 未达起征点免税额是什么意思
  • 销售服饰
  • 固定资产租赁费属于什么费用
  • 公司购进设备会计分录
  • 月初领票是不是要等到报完税才可以领
  • 出租车票做什么科目
  • 加计扣除适用于什么企业
  • 电子银行承兑到期没有兑现怎么办
  • 企业取得土地补偿款
  • 公司购买承兑需要交税吗
  • 当年的应收账款需要提坏账吗
  • 支付临时工的工资计入应付职工薪酬吗
  • 某个项目投资多少钱怎么算
  • 品牌代理费计入什么科目
  • 现代服务业主要包括哪些类型
  • 车辆购置税能抵扣企业所得税吗
  • 怎么把应付账款冲平
  • 因进出口商品引起的收支
  • 日常修理费用如何记账
  • 房地产会计核算地上地下成本分摊
  • win10账户要求必须设置pin什么意思
  • freebsd默认账户密码
  • ubuntu14.04下apt-get install的报错以及解决方法
  • windows锁屏界面设置
  • mac在哪看
  • 虚拟网卡在哪里设置
  • wmiex.exe是什么程序
  • win7的系统
  • windows8使用技巧
  • opengl二维绘图函数
  • nodejs使用视频教程
  • unity manifest
  • [置顶]游戏名:chivalry2
  • jquery数据绑定
  • [置顶] 安卓手机连接IP100蓝牙打印机实现打印功能
  • 建筑行业增值税11%
  • 财政云操作视频
  • 建筑企业外地施工预缴税款
  • oecd是什么意思的缩写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设