【问题标题】:Saving extra data in ethereum smartcontract transaction在以太坊智能合约交易中保存额外数据
【发布时间】:2019-04-12 14:05:49
【问题描述】:

我对以太坊没有太多经验,这个问题对我来说非常困难。

我在 php laravel 中有项目,它必须将项目的内部硬币发送给用户,并且通过此交易,我必须保存有关用户工作的额外数据,为此需要付款。

智能合约的地址是0x64be6b77cc723e5518687a04b4e62824e89fd8bb

首先我安装了 geth 并同步了以太坊。然后我导入了帐户(帐户余额为 0)。

然后我开始使用两个不同的 php 库和许多手册和示例,但现在我不知道如何解决这个问题。

我可以成功连接到本地以太坊实例(http://127.0.0.1:8545),获取协议版本、账户余额和调用其他简单方法。但还不明白,我如何调用带有收件人地址、金额和额外数据的合同。

我使用这个库:digitaldonkey/ethereum-php and sc0vu/web3.php

预期结果 - 事务创建,额外的 json 数据保存到事务中,事务 id 保存到 mysql。

【问题讨论】:

    标签: php laravel ethereum smartcontracts geth


    【解决方案1】:

    要与区块链交互,您必须创建分布式应用程序。 dapp 使用 Web3 库与区块链交互。解决您的问题的一种方法是创建一个 angularJs 应用程序并使用 web3 库与智能合约进行交互。根据智能合约中的代码,您还可以在事件字段中存储额外数据,但必须在智能合约中进行编码。

    对于要执行的交易,您可以使用 MetaMask 插件。 Metamask 还允许在以太坊网络上创建新用户。一旦您登录 Metamask,您通过 web3 库执行的所有交易都会通过 Metamask,您必须在执行前确认交易。

    一个好的开始方法是详细了解truffle 框架,因为它简化了智能合约和分布式应用程序的开发。您可以下载angular box 并开始开发分布式应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-07
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 2018-11-26
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      相关资源
      最近更新 更多