implementación web3 js php

¿Hay alguna forma de comunicarse con ethereum a través de php? lo que quiero es obtener detalles del contrato inteligente de la dirección del contrato, como el nombre del token del contrato, decimal, abi, saldo, símbolos de suministro de tokens, etc. hasta ahora, lo que sé es que web3.js es una biblioteca oficial para interactuar con ethereum pero no hay implementación en php. Tengo una limitación, no puedo usar js, la única opción que tengo es php. Avíseme si hay alguna implementación de web3.js o cualquier otra forma de interactuar con el contrato inteligente a través de php.

Respuestas (4)

web3.js no se comunica directamente con la red Ethereum. En cambio, web3.js se conecta a un nodo Ethereum que se ejecuta en la computadora del usuario, como Parity, MetaMask, Mist o simplemente geth. Este nodo a su vez se comunica con la red Ethereum.

No puede usar web3.js con PHP, porque está escrito en y solo para JavaScript. No existe una implementación oficial de web3 en PHP.

Deberá usar PHP para comunicarse con un nodo Ethereum local. Recomiendo hacer esto a través de su interfaz JSON RPC. Puede encontrar la documentación aquí:

https://github.com/ethereum/wiki/wiki/JSON-RPC

Aquí hay una pequeña biblioteca para hacer esto fácilmente en PHP, aunque tiene dos años:

https://github.com/btelle/ethereum-php

La implementación de Ethereum de tbelle está desactualizada y no se mantiene. Puede echar un vistazo a github.com/digitaldonkey/ethereum-php ethereum.stackexchange.com/questions/13826/…
¿Qué es una "implementación oficial"? La biblioteca recomendada tuvo su última confirmación en "Commits on Sep 12, 2015". No mantenido, obsoleto y por lo tanto totalmente inútil.

Como dijo @Jesse Busman, no la biblioteca PHP para usar la API web3. Además, el uso de JSON-RPC solo limitará su aplicación y hará que le resulte más complicado codificar lo que realmente desea, que es principalmente una interacción de token. ¡Hay muchas cosas que puede hacer con web3 que no puede hacer a través de JSONRPC!

web3.js es lo que busca, y no recomiendo PHP para construir ETH Dapp.

¿Puede explicar por qué no recomienda PHP o es solo una opinión personal? Por favor justifique su recomendación.

Después de probar algunas de las bibliotecas php disponibles en Github, terminé de publicar mi propia biblioteca web3 php.

Web3-php está un poco desactualizado (no es compatible con ABIv2) y tiene problemas para firmar transacciones. Y Ethereum-php requiere php8 y no era una opción para mí.

Esto es lo que funcionó para mí: https://github.com/drlecks/Simple-Web3-Php