主页 > imtoken官网最新版 > 如何使用以太坊上的代币与智能合约交互进行数据传输(一)

如何使用以太坊上的代币与智能合约交互进行数据传输(一)

imtoken官网最新版 2024-01-04 05:15:06

以太坊智能合约原理_智能合约 以太坊_以太坊智能合约语言

如何使用以太坊上的代币与智能合约交互进行数据传输(一)

接触区块链概念进入开发状态已经有一段时间了。 最近,我也在以太坊上发布了几个智能合约。 现将个人经验总结如下,也算是学习总结。 希望后来者减少一些坑。 有不清楚的也可以直接联系我,微信yyy99966,一起学习

本文为系列第一篇,希望详细讲解交互过程,为学习者提供一些帮助。

概述

向以太坊网络发送请求,以便与合约进行交互,那么你很快就会意识到我要使用什么编程语言,我在这里推荐它智能合约 以太坊,经过反复尝试,我最终锁定了 web3jAPI,这是目前最好的以太坊和传统程序交互的编程API接口,该接口使用nodejs作为服务端编程环境,nodejs是一个基于javascript脚本语言的服务端程序框架,也就是说我们需要实现数据交换,编程知识结构:

1.熟悉nodejs编程环境框架

2、熟练掌握javascript语言。

3.熟悉web3jsAPI接口规范

4. 熟悉solidity语言编写以太坊智能合约

5.网页前端的html智能合约 以太坊,当然也需要

6.还有一个重要的数据库,这里使用mysql

有了以上的知识背景,下面开始介绍web3jAPI中的几个相关概念:

读写数据

以太坊网络区分向网络写入数据和从网络读取数据,这种区分在应用程序的编写方式中起着重要作用。 通常,写入数据称为事务,读取数据称为调用。 事务和调用的处理方式截然不同,具有以下特点。

交易

交易从根本上改变了网络的状态。 交易可以像将以太币发送到另一个账户一样简单,也可以像执行合约功能或向网络添加新合约一样复杂。 事务的定义特征是它写入(或更改)数据。 交易的运行成本很高,称为“gas”,交易的处理需要时间。 当您通过交易执行合约的功能时,您无法收到该功能的返回值,因为交易没有立即处理。 通常,通过事务执行的函数不会返回值; 他们将返回一个交易 ID。 所以总的来说,Transactions 的特点如下:

消耗气体(以太)

修改网络状态

不能立即执行

不公开返回值(返回交易 ID)

来电

调用正好相反。 调用可以是在网络中执行代码而不永久更改数据(状态)。 通话是免费的,其本质是读取数据。 当您使用 call 调用合约中的方法时,该函数会立即返回。 总的来说,Calls的特点:

免费(不消耗gas)

不改变网络状态

立即执行

将公开一个返回值

选择使用 Transaction 还是 Call 很简单,取决于您是读取数据还是写入数据。

先介绍到这里

相关参考我的博客园链接