如何在PHP中添加智能合约功能?

时间:2018-11-18 09:55:29

标签: php blockchain ethereum solidity web3js

我正在从事主题为销售的项目。 因此,对于前端(React)和后端(PHP)。

我在理解如何在项目中使用智能合约时遇到了问题。 对于部署,我使用以太坊钱包0.9.0并测试网络Rinkeby。在EW中,他正在工作。

让我们假装我的代码中有按钮购买,并且我的合同中有以下功能:

function Buy() 
    public 
    payable 
{
    require (msg.sender != seller);
    require (msg.value >= price);
    orderNum++;
    safePay +=msg.value;
}

现在,我该如何使用它? 我听说过web3.js,但是(我不确定)我需要php请求。

或者,如果我的合同在以太坊钱包Rinkeby中部署,我可以直接从代码中直接使用它,而无需再次部署。

我是这个主题的初学者,可能会犯错误(即使在视图中也是如此),但是如果有人可以解释这一点,我将非常高兴。

谢谢。

1 个答案:

答案 0 :(得分:2)

AFAIK,尚无PHP的官方支持。您可以在此处与以太坊区块链进行交互的2个选项:

  1. 使用JSON RPC-使用curl或任何用PHP编写的HTTP客户端库,您可以与以太坊区块链通信。调用数据很容易。当您想在以太坊区块链中写入/编辑数据时,可能会遇到一些困难,因为您需要处理交易签名和打包数据/有效载荷。

  2. 使用Web3JS-这更容易,并且您会在线找到许多资源。您可以使用的关键字是building dappTrufflethis YouTube channel是学习使用Web3JS构建dapp的两个好地方。

如果您认为此答案有帮助,请接受并回答。祝你好运!