Această postare a fost editată ultima dată de malakashi la 2018-8-25, 23:11
De anul trecut, dezvoltăm o afacere cu blockchain. Recent am folosit Ethereum și PHP, așa că m-am gândit că ar trebui să vorbim despre acest subiect. Iată o premisă: - 1. Înțelegerea blockchain-ului
- 2. Să aibă o înțelegere a limbajelor de programare
Concluzii cheie din acest articol: - 1. Mediul de dezvoltare
- 2. Introducerea Ethereum
- 3. Pregătește apelul JSON-RPC
- 4. Acces din PHP
1. Mediul de dezvoltareVom folosi Ubuntu 14.04 LTS. După instalarea sistemului de operare, introduceți comenzile prestabilite. După aceea am configurat SSH, iptables, ntp etc. Apoi există Apache + PHP. Versiunea PHP va fi 5.5.
2. Introducerea EthereumDe data aceasta vom folosi un nod Ethereum creat în limbajul GO, go-ethereum, prescurtat geth. Hai să adăugăm mai întâi un depozit. După aceea, pur și simplu instalează-l. Lansați Geth imediat ce instalarea este completă. Mai întâi, creează un catalog de date și descrie setările primului bloc (blocul genesis). Apoi, creează un bloc Genesis și începe geth. În modul consolă, pornirea este reușită. Sunt specificate mai multe opțiuni, iar explicația este rezumată mai jos. - networkid, care se conectează la un nod public.
- port, care este un port pentru standby. L-am schimbat cu un număr de 4 cifre.
- nodiscover, care este o setare ce împiedică vizualizarea automată a nodurilor.
- datadir, care specifică directorul unde blockchain-ul stochează datele.
- Console, care lansează consola în același timp cu pornirea.
Bine, pregătiți-vă pentru următorul apel PHP, dar înainte de asta să facem mai multă pregătire pe partea geth. 3. Pregătește apelul JSON-RPCAcces din PHP prin JSON-RPC. Aici vom stabili cartierul. În primul rând, vor fi obținute informațiile curente ale contului. Folosim și consola geth pe care am lansat-o data trecută. Nu ne-am creat încă un cont, deci este necesar să-l creăm. Contul este acum creat. Am configurat astfel încât recompensele să poată fi câștigate în timpul mineritului. Apoi, deoarece nodul curent nu permite apeluri RPC, adaugă o opțiune și repornește-l. Hai să punem capăt mai întâi geth-ilor. Hai să adăugăm opțiuni și să reluăm Au fost adăugate mai multe opțiuni pentru RPC. Explicația este următoarea. - rpc, permițând RPC să fie în așteptare.
- rpcaddr, o adresă IP pentru RPC alternate.
- rpcport, portul folosit pentru a asculta RPC. Am redus numărul portului la 4 cifre.
- rpccorsdomain, un domeniu care permite accesul la RPC. Rețineți că atunci când publicați un nod, dacă este "*", va permite totul.
Partea de nod este acum pregătită. Următorul va fi un apel de la PHP. 4. Acces din PHPÎn final, de ce să accesezi din PHP, dar să le ai, pentru că este destul de dificil și poate fi folosit când scrii codAcesta。 După cum poți vedea în README, trebuie doar să creezi o clasă. Să-l folosim punându-l în același director cu scriptul de test. Când rulăm acest script, ar trebui să existe o listă de conturi după cum urmează.
Dacă nu te poți conecta, verifică setările portului etc. Până acum am explicat pe scurt, dar nu ți se pare surprinzător de ușor să dezvolți cu PHP? Când vine vorba de contracte inteligente, devine puțin mai complicat și vom scrie despre asta mai târziu. De asemenea, dacă vrei să vezi direct cum este folosit blockchain-ul în Ethereum, poți verifica astahttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse, introduce în principal utilizarea PHP pentru interacțiunea de dezvoltare a contractelor inteligente, crearea de conturi, tranzacționare, transfer, dezvoltare de tokeni, filtre și evenimente etc.
|