关于墨客的abi decode/encode

先看下这个网站 : https://abi.hashex.org/# 这是一个俄罗斯码农搞的,不过没有github库,也没有找到原始代码

简单说这个网站可以接收合约的abi定义,然后让用户选中具体方法后,填写参数,形成签名需要的数据载荷 payload

和abi解析相关的有 https://github.com/ethereumjs/ethereumjs-abi 和 https://github.com/ConsenSys/abi-decoder

ethereumjs-abi : 根据abi定义,decode 和 encode函数方法以及其参数

abi-decoder : 除了上述功能,还能解析Transaction receipt的事件日志

我想要的是

能解析abi
能根据方法名字自动找出需要的参数,并且按照规定的格式encode
解析日志
和上面介绍的开源代码区别在哪呢,他们的方法都是用户作为参数放进去的,而我想用abi定义,自动放进去,还有就是用typescript来写
在Java里面,这个就是Call by name或者反射机制就可以,我们在ts的上下文里面,来推导一下业务流程

解析abi,形成自己的数据结构 工数 0
可以列出和查询函数名 工数 1
可以罗列和查询函数的参数和类型 工数 2
根据函数名、参数组合,encode和decode,形成data。工数 3 (此处需要考虑参数类型的转换)
解析Transaction event 2
如果细节清楚,考虑到单元测试和构建开发环境,工数不会超过10个工作日

jcc-moac-abi 版本库https://github.com/JCCDex/jcc-moac-abi

你可能感兴趣的:(区块链,abi,decode,encode,abi,墨客,区块链技术)