logo图片
Truffle教程

Truffle 与合约交互

自己编写原始请求,与以太坊网络中的智能合约进行交互,是一件相当繁琐的工作。
Truffle简化了这个工作,利用Truffle提供的功能,我们可以方便地与合约进行交互。

读写数据

以太坊网络中,对于向网络写入数据,以及从网络读取数据的2种行为作了区分,这种区分对如何编写应用程序有重要影响。
通常,写入数据称为交易,而读取数据称为调用。交易和调用的处理方式非常不同。

交易

交易会向网络写入数据,改变网络状态。
交易可以是简单地向一个账户发送以太币,也可以复杂到执行合约函数或向网络添加新合约。
交易有运行成本,需要消耗Gas,Gas需要用以太币支付。
交易处理需要消耗时间,不会马上返回。如果你通过交易执行合约的函数,该函数不会马上返回,因为交易不是立即处理的。通常,通过交易执行的函数不会有返回值,而是返回一个交易id。
总结交易的特点:
有执行成本,消耗Gas 更改网络的状态 不立即处理 没有返回值(得到交易id)。

调用

与交易相比,调用是非常不同的,调用是只读的。
调用可用于在以太坊网络上执行代码,但不会更改网络中的数据。
调用可以免费执行。
当通过调用执行合约函数时,将立即收到返回值。
总结调用的特点
免费,不消耗Gas 不改变网络的状态 立即处理 有返回值
是交易还是调用,只需看是否向网络写入数据。

章节

Truffle – 合约抽象 Truffle – 执行交易 Truffle – 执行调用 Truffle – 交易执行结果 Truffle – 捕获事件 Truffle – 部署新版合约 Truffle – 获取指定地址合约的合约抽象 Truffle – 向合约发送以太
昵称: 邮箱:
Copyright © 2020 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4