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

Hir*_*asu 0 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;
}
Run Code Online (Sandbox Code Playgroud)

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

或者,如果我的合约部署在以太坊钱包 Rinkeby 中,我可以直接通过代码使用它,不需要再次部署。

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

谢谢。

Zul*_*din 7

AFAIK,目前还没有对 PHP 的官方支持。您有 2 个选项可以与以太坊区块链进行交互:

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

  2. 使用Web3JS - 这要容易得多,并且您可以在网上找到许多资源。您可以使用的关键字是building dappTruffle这个 YouTube 频道是学习使用 Web3JS 构建 dapp 的两个好地方。