InvocationTransaction区分部署与调用

夜,流离 11月前 422

请问部署合约的交易与直接调用的交易要怎么能快速区分出来

最后于 10月前 被夜,流离编辑 ,原因:
最新回复 (7)
全部楼主
  • naoye 11月前
    0 2
    部署合约一般会交490或990gas的网络费,而调用交易一般都会控制在10gas下,免系统费。部署合约的交易里含有合约avm,交易体大小通常都会大一些,可能会有几k。
  • 夜,流离 11月前
    0 3
    naoye 部署合约一般会交490或990gas的网络费,而调用交易一般都会控制在10gas下,免系统费。部署合约的交易里含有合约avm,交易体大小通常都会大一些,可能会有几k。
    那想要获取所有的合约脚本,是不是必须解析InvocationTransaction,在解析的过程中通过手续费来区分是不是部署?
  • 夜,流离 11月前
    0 4
    naoye 部署合约一般会交490或990gas的网络费,而调用交易一般都会控制在10gas下,免系统费。部署合约的交易里含有合约avm,交易体大小通常都会大一些,可能会有几k。
    请问部署合约{"sys_fee": "990","net_fee": "0","gas": "990"}和调用合约{"sys_fee": "0","net_fee": "0.001","gas": "0"}是不是可以直接通过gas来区分?是不是调用合约的手续费会直接产生在net_fee里边,不会出现在gas里边?
  • 0 5
    夜,流离 请问部署合约{"sys_fee": "990","net_fee": "0","gas": &quo ...
    从gas消耗来区分不能完全保证正确。但是也是一个路子。
    如果交易是你发送的,你不是应该就知道哪个交易是做什么的么?
  • 夜,流离 11月前
    0 6
    咦~這裏有只豬 从gas消耗来区分不能完全保证正确。但是也是一个路子。 如果交易是你发送的,你不是应该就知道哪个交易是做什么的么?
    当别人部署或者调用合约时,就只能从区块交易里边去解析判断,不知道是不是有什么可以明确区分的方式,比如NEO浏览器是怎么把它区分开的
  • naoye 11月前
    0 7
    夜,流离 当别人部署或者调用合约时,就只能从区块交易里边去解析判断,不知道是不是有什么可以明确区分的方式,比如NEO浏览器是怎么把它区分开的
    我们的浏览器没有区分,其他浏览器应该也没区分。部署合约交易和调用合约的交易体非常相似,不同的地方应该就是调用的scripthash那块,部署合约那块应该是告诉虚拟机这个是要部署合约,调用合约是告诉虚拟机要调用哪个合约,但具体里面是什么需要反解出来,neo的文档里也没有写这部分,我们也没做过。简单的办法就用sys_fee来判断,超过400gas的sys_fee肯定就是部署合约了,调用合约的费用超10gas虽然也会计入sys_fee,但肯定不会超这么多
  • 夜,流离 11月前
    0 8
    naoye 我们的浏览器没有区分,其他浏览器应该也没区分。部署合约交易和调用合约的交易体非常相似,不同的地方应该就是调用的scripthash那块,部署合约那块应该是告诉虚拟机这个是要部署合约,调用合约是告诉虚拟 ...
    好的,谢谢
返回