以太坊链上合约交互方式详解

首先要明确一点,以太坊是一个去中心化的平台,他不可能为了某个项目而新增交互接口。我这里说的交互是指应用是链上合约的交互,更明确的说,是chainlink,arbitrum,cosmos这些链下应用与链上合约的交互。

所以这里我不是想说以下交互方式:

  • 通过钱包交互:将应用打包成一个网页,连接类似与 小狐狸 这样的钱包,与链发生交互。
  • 手动构造交易:构建交易tx并使用私钥对交易进行签名,然后直接发送到链给定的接口上。

对于一些简单的调用,通过上面两种方式是可行的,例如我们只是做一些nft的构造,通过钱包是最合适的。但是对于向arbitrum这类链上的应用,如果要做一个交互式单步证明,在这个过程中我需要监控链上合约抛出的event,分析event并构造出相应结果。这个时候钱包就很难插手,而如果主动构造交易并签名,那么过程太繁琐。实际上以太坊上已经提供了相关的工具链。

我们要谈的交互方式就是,通过以太坊支持的工具链实现与以太坊的交互

工具链

简单而言是使用以太坊工具将sol的合约代码转换成go的类文件,并对调用细节进行封装。而在应用层(arbitrum,chainlink这一层)可以直接将对应参数传过去就可以.

... (以下暂缺 进一步继续补充)

标签:游戏攻略