この投稿は2018年8月25日23:11にmalakashiによって最後に編集されました。
昨年からブロックチェーン事業を展開しています。 最近EthereumとPHPを使ったので、この話題について話すべきだと思いました。 ここで一つの設定を紹介します: - 1. ブロックチェーンを理解する
- 2. プログラミング言語の理解を持つこと
この記事からの主なポイント: - 1. 開発環境
- 2. イーサリアムの導入
- 3. JSON-RPCコールの準備
- 4. PHPからのアクセス
1. 開発環境Ubuntu 14.04 LTSを使います。 オペレーティングシステムをインストールした後、あらかじめ決められたコマンドを入力します。 その後、SSH、iptables、ntpなどをセットアップしました。 次にApache+PHPがあります。 PHP版は5.5になります。
2. イーサリアムの導入今回はGO言語で作られたイーサリアムノード、go-ethereum(略称geth)を使用します。 まずリポジトリを追加しましょう。 その後はインストールすればいいです。 設置が完了次第、ゲスを打ち上げてください。 まず、データカタログを作成し、最初のブロック(ジェネシスブロック)の設定を記述します。 次に、Genesisブロックを作成し、ゲスを起動します。 コンソールモードでは起動は成功します。 いくつかの選択肢が示されており、以下にその説明をまとめます。 - networkidはパブリックノードに接続します。
- ポートは待機用のポートです。 4桁の番号に変更しました。
- ノードが自動的に閲覧できない設定です。
- Datadirは、ブロックチェーンがデータを保存するディレクトリを指定します。
- コンソールは、起動と同時にコンソールを起動します。
よし、次のPHPの呼び出しに備えろ。だがその前にゲス側の準備をもう少ししよう。 3. JSON-RPCコールの準備PHPからのJSON-RPCアクセス。 ここで近隣の雰囲気を作ります。 まず、当座預金口座の情報を取得します。 また、前回リリースしたゲスコンソールも使っています。 まだアカウントは作成していないので、作成が必要です。 アカウントはすでに作成されました。 採掘中に報酬を得られるように設定しています。 次に、現在のノードがRPCコールを許可していないので、オプションを追加して再度起動します。 まずはゲスを終わらせよう。 オプションを追加してやり直しましょう RPCにはいくつかのオプションが追加されました。 その説明は以下の通りです。 - RPCをスタンバイさせて。
- rpcaddr、RPC代替IPアドレス。
- RPCを聴取するために使われていたポートです。 ポート番号を4桁に下げました。
- rpccorsdomainはRPCへのアクセスを可能にするドメインです。 ノードを公開する際、もし「*」であれば、すべてが許可されることに注意してください。
ノード側はこれで準備完了です。 次はPHPからの電話です。 4. PHPからのアクセス最後に、PHPからアクセスするのに持っているのは難しいからですこれ。 READMEでわかるように、クラスを作成するだけです。 テストスクリプトと同じディレクトリに入れて使ってみましょう。 このスクリプトを実行すると、以下のアカウントリストが表示されるはずです。
接続できない場合は、ポート設定などを確認してください。 これまで簡単に説明しましたが、PHPで開発するのは意外と簡単だと感じませんか? スマートコントラクトに関しては少し複雑になりますが、後ほど詳しく説明します。 また、Ethereumでブロックチェーンがどのように使われているかを直接知りたい方は、こちらもチェックできますhttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse主に、スマートコントラクト開発のインタラクション、アカウント作成、取引、移転、トークン開発、フィルターやイベントなどにPHPの活用を導入しました。
|