Este post foi editado pela última vez por malakashi em 25-08-2018 às 23:11
Desde o ano passado, temos desenvolvido um negócio de blockchain. Recentemente usei Ethereum e PHP, então achei que deveríamos falar sobre esse assunto. Aqui vai uma premissa: - 1. Entender blockchain
- 2. Ter compreensão de linguagens de programação
Principais lições deste artigo: - 1. Ambiente de desenvolvimento
- 2. Introdução do Ethereum
- 3. Preparar a chamada JSON-RPC
- 4. Acesso a partir do PHP
1. Ambiente de desenvolvimentoVamos usar o Ubuntu 14.04 LTS. Após instalar o sistema operacional, insira os comandos predeterminados. Depois disso, configurei SSH, iptables, ntp, etc. Depois tem Apache + PHP. A versão em PHP será 5.5.
2. Introdução do EthereumDesta vez, usaremos um nó Ethereum feito na linguagem GO, go-ethereum, abreviado como geth. Vamos adicionar um repositório primeiro. Depois disso, é só instalar. Lance os Geth assim que a instalação estiver concluída. Primeiro, crie um catálogo de dados e descreva as configurações do primeiro bloco (bloco Genesis). Em seguida, crie um bloco Genesis e comece o geth. Quando está no modo console, a inicialização é bem-sucedida. Várias opções são especificadas, e a explicação é resumida abaixo. - NetworkID, que se conecta a um nó público.
- Porta, que é uma porta para espera. Mudei para um número de 4 dígitos.
- nodiscover, que é uma configuração que impede que nós visualizem automaticamente.
- datadir, especificando o diretório onde a blockchain armazena os dados.
- Console, que inicia o console ao mesmo tempo em que ele começa.
Ok, prepare-se para a próxima chamada de PHP, mas antes disso vamos fazer mais preparação do lado geth. 3. Preparar a chamada JSON-RPCAcesso a partir do PHP via JSON-RPC. Aqui vamos montar o bairro. Primeiro, serão obtidas as informações atuais da conta. Também usamos o console geth que lançamos da última vez. Ainda não criamos uma conta, então é necessário criá-la. A conta já foi criada. Configuramos para que as recompensas possam ser conquistadas enquanto mineramos. Em seguida, como o nó atual não permite chamadas RPC, adicione uma opção e inicie novamente. Vamos acabar com os geth primeiro. Vamos adicionar opções e reiniciar Várias opções para RPC foram adicionadas. A explicação é a seguinte. - rpc, permitindo que o RPC fique em espera.
- rpcaddr, um endereço IP alternativo para RPC.
- rpcport, a porta usada para ouvir RPC. Reduzi o número da porta para 4 dígitos.
- rpccorsdomain, um domínio que permite acesso ao RPC. Note que, ao publicar um nó, se for "*", ele permitirá tudo.
O lado do nodo agora está pronto. A próxima será uma ligação do PHP. 4. Acesso a partir do PHPPor fim, por que acessar pelo PHP, mas ter esses acessos, porque é bem difícil e pode ser usado quando você escreve códigoEste aqui。 Como você pode ver no README, você só precisa criar uma classe. Vamos usá-lo colocando no mesmo diretório do script de teste. Quando executarmos esse script, deve haver uma lista de contas a seguir.
Se não conseguir conectar, verifique as configurações de porta, etc. Até agora, explicamos brevemente, mas não parece surpreendentemente fácil desenvolver com PHP? Quando se trata de contratos inteligentes, fica um pouco mais complicado, e vamos escrever sobre isso depois. Além disso, se você quiser ver diretamente como o blockchain é usado no Ethereum, pode conferir issohttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse, introduz principalmente o uso do PHP para interação de desenvolvimento de contratos inteligentes, criação de contas, negociação, transferência, desenvolvimento de tokens, filtros e eventos, etc.
|