Tento příspěvek naposledy upravoval malakashi dne 25. 8. 2018 v 23:11
Od loňska rozvíjíme blockchainový byznys. Nedávno jsem používal Ethereum a používal PHP, takže jsem si myslel, že bychom si o tomto tématu měli promluvit. Tady je premisa: - 1. Porozumět blockchainu
- 2. Mít porozumění programovacím jazykům
Klíčové poznatky z tohoto článku: - 1. Vývojové prostředí
- 2. Zavedení Etherea
- 3. Připravit volání JSON-RPC
- 4. Přístup z PHP
1. Vývojové prostředíBudeme používat Ubuntu 14.04 LTS. Po instalaci operačního systému zadejte předem dané příkazy. Poté jsem nastavil SSH, iptables, ntp atd. Pak je tu Apache + PHP. Verze v PHP bude 5.5.
2. Zavedení EthereaTentokrát použijeme uzel Ethereum vytvořený v jazyce GO, zkráceně go-ethereum geth. Nejprve přidejme repozitář. Pak ho prostě nainstaluj. Spustit Geth hned, jak bude instalace dokončena. Nejprve vytvořte datový katalog a popište nastavení prvního bloku (genesis bloku). Pak vytvořte Genesis blok a začněte s geth. V režimu konzole je spuštění úspěšné. Je uvedeno několik možností a vysvětlení je shrnuto níže. - NetworkID, který se připojuje k veřejnému uzlu.
- Přístav, což je přístav pro pohotovostní režim. Změnil jsem ho na čtyřmístné číslo.
- nodiscover, což je nastavení, které zabraňuje automatickému zobrazení uzlů.
- Datadir, který specifikuje adresář, kde blockchain ukládá data.
- Konzole, která spustí konzoli současně se spuštěním.
Dobře, připravte se na další výzvu PHP, ale předtím se pojďme připravit na straně gethů. 3. Připravit volání JSON-RPCPřístup z PHP přes JSON-RPC. Tady si vyřídíme sousedství. Nejprve budou získány informace o běžném účtu. Používáme také konzoli geth, kterou jsme spustili minule. Účet jsme ještě nevytvořili, takže je nutné ho vytvořit. Účet je nyní vytvořen. Nastavili jsme to tak, aby bylo možné získávat odměny během těžby. Dále, protože aktuální uzel neumožňuje volání RPC, přidejte možnost a restartujte ho. Nejdřív ukončíme gethy. Přidáme možnosti a začněme znovu Bylo přidáno několik možností pro RPC. Vysvětlení je následující. - rpc, což umožňuje RPC zůstat v pohotovosti.
- rpcaddr, IP adresa pro RPC alternativy.
- rpcport, port používaný k poslechu RPC. Snížil jsem číslo portu na 4 číslice.
- rpccorsdomain, doména umožňující přístup k RPC. Všimněte si, že při publikování uzlu, pokud je "*", povolí vše.
Uzlová strana je nyní připravena. Dále přijde hovor z PHP. 4. Přístup z PHPA nakonec, proč přístup přes PHP, ale mít je, protože je to docela obtížné a dá se použít při psaní kóduTahle。 Jak vidíte v README, stačí si vytvořit třídu. Použijme ho tak, že ho umístíme do stejného adresáře jako testovací skript. Když spustíme tento skript, měl by být seznam účtů následující.
Pokud se nemůžete připojit, zkontrolujte nastavení portu atd. Zatím jsme to stručně vysvětlili, ale nepřipadá vám překvapivě snadné to vyvíjet v PHP? Pokud jde o chytré kontrakty, je to trochu složitější, o čem napíšeme později. Pokud chcete přímo vidět, jak se blockchain používá v Ethereu, můžete se na to podívathttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse, hlavně zavádí využití PHP pro interakce s vývojem chytrých kontraktů, tvorbu účtů, obchodování, převod, vývoj tokenů, filtry a události atd.
|