Esta publicación fue editada por última vez por malakashi el 25-8-2018 a las 23:11
Desde el año pasado, hemos estado desarrollando un negocio blockchain. Recientemente usé Ethereum y PHP, así que pensé que deberíamos hablar de este tema. Aquí va una premisa: - 1. Entender blockchain
- 2. Tener comprensión de lenguajes de programación
Conclusiones clave de este artículo: - 1. Entorno de desarrollo
- 2. Introducción de Ethereum
- 3. Preparar la llamada JSON-RPC
- 4. Acceso desde PHP
1. Entorno de desarrolloUsaremos Ubuntu 14.04 LTS. Tras instalar el sistema operativo, introduce los comandos predeterminados. Después de eso configuré SSH, iptables, ntp, etc. Luego está Apache + PHP. La versión de PHP será la 5.5.
2. Introducción de EthereumEsta vez usaremos un nodo Ethereum hecho en lenguaje GO, go-ethereum abreviado como geth. Primero añadimos un repositorio. Después de eso, simplemente instálalo. Lanza Geth tan pronto como termine la instalación. Primero, crea un catálogo de datos y describe la configuración del primer bloque (bloque génesis). Después, crea un bloque de Genesis y empieza geth. Cuando está en modo consola, el arranque es exitoso. Se especifican varias opciones y la explicación se resume a continuación. - NetworkID, que se conecta a un nodo público.
- puerto, que es un puerto para espera de reserva. Lo cambié a un número de 4 dígitos.
- nodiscover, que es una configuración que impide que los nodos se vean automáticamente.
- datadir, que especifica el directorio donde la blockchain almacena los datos.
- consola, que lanza la consola al mismo tiempo que arranca.
Vale, prepárate para la siguiente llamada de PHP, pero antes de eso hagamos más preparación en el lado geth. 3. Preparar la llamada JSON-RPCAcceso desde PHP vía JSON-RPC. Aquí vamos a montar el barrio. Primero, se obtendrá la información actual de la cuenta. También usamos la consola geth que lanzamos la última vez. Aún no hemos creado una cuenta, así que es necesario crearla. La cuenta ya está creada. Lo configuramos para que se puedan ganar recompensas mientras minamos. Después, como el nodo actual no permite llamadas RPC, añade una opción y reinicia. Acabemos primero con los geth. Vamos a añadir opciones y reiniciar Se han añadido varias opciones para RPC. La explicación es la siguiente. - rpc, permitiendo que RPC esté en espera.
- rpcaddr, una dirección IP para RPC alternativos.
- rpcport, el puerto usado para escuchar RPC. Bajé el número de puerto a 4 dígitos.
- rpccorsdomain, un dominio que permite acceder a RPC. Ten en cuenta que al publicar un nodo, si es "*", permitirá todo.
El lado nodo ya está listo. Lo siguiente será una llamada de PHP. 4. Acceso desde PHPPor último, ¿por qué acceder desde PHP, pero tenerlos? Porque es bastante difícil y se puede usar cuando escribes códigoEsta。 Como puedes ver en el README, solo necesitas crear una clase. Vamos a usarlo poniéndolo en el mismo directorio que el script de prueba. Cuando ejecutamos este script, debería haber una lista de cuentas como sigue.
Si no puedes conectarte, revisa la configuración de puertos, etc. Hasta ahora lo hemos explicado brevemente, pero ¿no resulta sorprendentemente fácil desarrollar con PHP? En lo que respecta a los contratos inteligentes, se complica un poco, y escribiremos sobre ello más adelante. Además, si quieres ver directamente cómo se usa blockchain en Ethereum, puedes echarle un vistazohttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse, introduce principalmente el uso de PHP para la interacción de desarrollo de contratos inteligentes, creación de cuentas, trading, transferencia, desarrollo de tokens, filtros y eventos, etc.
|