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

  • 微信说说心情句子大全正能量短句(微信说说心情句子大全)(微信说说心情句子简短励志)

    微信说说心情句子大全正能量短句(微信说说心情句子大全)(微信说说心情句子简短励志)

  • 一般笔记本电脑功率大概多少(一般笔记本电脑功率)(一般笔记本电脑内存多大合适)

    一般笔记本电脑功率大概多少(一般笔记本电脑功率)(一般笔记本电脑内存多大合适)

  • 如何定时关机(Win10如何定时关机)

    如何定时关机(Win10如何定时关机)

  • iphone-no是什么手机(iphonexno是什么意思)

    iphone-no是什么手机(iphonexno是什么意思)

  • 叨叨记账可以互相聊天吗(叨叨记账怎么互动)

    叨叨记账可以互相聊天吗(叨叨记账怎么互动)

  • 交换机有哪几种交换模式(交换机有哪几种数据转发模式)

    交换机有哪几种交换模式(交换机有哪几种数据转发模式)

  • 快手主页背景图怎么没有了(快手主页背景图动态视频)

    快手主页背景图怎么没有了(快手主页背景图动态视频)

  • 别人登我支付宝有提示吗(别人登我支付宝会变黄码么)

    别人登我支付宝有提示吗(别人登我支付宝会变黄码么)

  • 配送模式有哪些(配送模式)

    配送模式有哪些(配送模式)

  • 微信在新设备上限制登录怎么解除(微信在新设备上多久可以改密码)

    微信在新设备上限制登录怎么解除(微信在新设备上多久可以改密码)

  • 苹果手机可以插内存卡吗(苹果手机可以插耳机吗)

    苹果手机可以插内存卡吗(苹果手机可以插耳机吗)

  • 计算器的ac键是什么功能(计算器的ac键是什么键、也叫什么键)

    计算器的ac键是什么功能(计算器的ac键是什么键、也叫什么键)

  • 手机耳机上的按钮是干什么用的(手机耳机的按键怎么用)

    手机耳机上的按钮是干什么用的(手机耳机的按键怎么用)

  • 国内国外微信通用吗(国外使用微信)

    国内国外微信通用吗(国外使用微信)

  • realmeQ怎么关闭应用通知(realme怎么关掉breeno)

    realmeQ怎么关闭应用通知(realme怎么关掉breeno)

  • 苹果11微信视频怎么美颜(苹果11微信视频打不开怎么回事)

    苹果11微信视频怎么美颜(苹果11微信视频打不开怎么回事)

  • qq音乐桌面歌词怎么设置(qq音乐桌面歌词怎么移动不了)

    qq音乐桌面歌词怎么设置(qq音乐桌面歌词怎么移动不了)

  • 58虚拟号码怎么打回去(58虚拟号码怎么设置的)

    58虚拟号码怎么打回去(58虚拟号码怎么设置的)

  • 云闪付转账失败退款吗(云闪付转账失败但银行卡里的钱不在了怎么办)

    云闪付转账失败退款吗(云闪付转账失败但银行卡里的钱不在了怎么办)

  • 为什么qq扩列资料保存不了(为什么qq扩列资料填写后又不见了)

    为什么qq扩列资料保存不了(为什么qq扩列资料填写后又不见了)

  • x27怎么隐藏图标(x27怎样隐藏桌面的图标)

    x27怎么隐藏图标(x27怎样隐藏桌面的图标)

  • qq离线留言内容(qq离线留言是隐身吗?)

    qq离线留言内容(qq离线留言是隐身吗?)

  • 6sp摄像头抖动原因(6sp手机摄像头抖动)

    6sp摄像头抖动原因(6sp手机摄像头抖动)

  • 工资表怎么导入个税系统计算个税
  • 生产成本怎么核实
  • 接受捐赠手续
  • 一个人可以两家以上公司发放工资么
  • 固定资产一次性折旧政策2023
  • 出纳购买东西能报销吗
  • 金税盘无法连接jk开票
  • 计提和缴纳企业所得税分录
  • 零食发票能抵税吗
  • 小规模纳税人如何转一般纳税人
  • 采用托收承付方式怎么做分录?
  • 行业协会的作用定位
  • 加工样品全流程总结
  • 房地产企业销售未完工产品预计毛利率
  • 公众号注册验证方式
  • 进项转出后是否要交税
  • 高速公路的发票怎么补
  • 税务局查账一般需要几天
  • 进口关税发票账务处理如何进行?
  • 上缴税费总额包括个税吗?
  • 印花税为什么不计入资产成本
  • 个体工商户税务登记证需要什么资料
  • 广告发布税收编码
  • 外籍人员个人所得税政策
  • 其他应收账款贷方表示什么意思
  • 个体工商户是否需要缴纳印花税
  • 电子发票怎么冲红字
  • 个人将租来的房子转租如何交税
  • 存货跌价准备用账面余额还是账面价值
  • 无法偿还的应付款项予以转账
  • 酒店客房收入怎么算
  • bios中英文对照表图新版
  • 苹果电脑macos big sur
  • 其他债权投资期末公允价值的变动应当计入
  • 事业单位收到租金收入
  • 收到租金税费怎么计算
  • element plus 虚拟化表格
  • 货物运输业增值税专用发票可以抵扣吗
  • ISBMgr.exe - ISBMgr是什么进程 有什么作用
  • 企业汇算清缴费用
  • 不开票收入如何纳税申报
  • 小狐狸803050
  • 职工报工伤后用人单位还有赔偿吗
  • 企业资本结构决策需要重点考虑的有
  • php定时发送邮件
  • vgreduce --removemissing
  • 可行性研究合同印花税
  • 电子税务怎么绑定开票员信息
  • 4s店收到红字发票怎么办
  • 营业外收入在现金流量表中填入哪列
  • 辞职单位补偿标准
  • 进程 python
  • 广播影视服务税率2023
  • 利润表中的本期金额和本年累计金额
  • 公司一直没营业也没报税,会怎样罚款?
  • sqlserver2008连接
  • 收到政府补贴如何入账
  • 商业地产收税
  • 买一赠一销售额的确定
  • 主营业务成本的贷方是什么
  • 免征企业所得税的有哪些行业
  • 微信开发者软件
  • macbook触摸板如何点右键
  • 如何延长mac待机时间
  • centos6.8升级centos7
  • perl scripts
  • jq复制元素
  • 安卓图像处理app
  • 如何执行perl脚本
  • linux shell终端
  • android4.4w
  • 购物金怎么退换面额的
  • 河北电子税务局社保缴费流程
  • 1988年中华人民共和国印花税票五元
  • 如何查询税务是否变更
  • 出口退税退运需要什么
  • 上海税务机关代码查询
  • 工商变更信息如何在网上打印?
  • 税收超额负担图解
  • 租赁费的税率是多少小规模纳税人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设