php工程師進行以太坊開發的教程
以太坊是備受關注的區塊鏈,它基於密碼學技術和P2P通訊技術 構建了一個去中心化的平臺,所有的交易同步儲存在每個節點中, 通過將區塊單向級聯成鏈,以太坊有效的保證了交易的不可篡改:
智慧合約平臺
以太坊是第一個實現了虛擬機器的區塊鏈,因此為智慧合約 – Smart Contract – 的執行提供了良好的支援環境。也正因為這個原因,以太坊被稱為區塊鏈 2.0,以區別於比特幣代表的以數字加密貨幣為核心特徵的區塊鏈1.0。
可以將智慧合約理解為機器之間的合同約定,在滿足一定條件時自動 執行約定好的邏輯,例如在保險理賠流程中,如果理賠條件滿足就自動 將賠償金釋放給出險人,這個流程就可以使用智慧合約來實現。
有多種語言可以開發以太坊智慧合約,但目前最常用的是類似於JavaScript的 Solidity語言。本課程中將採用Solidity講解智慧合約的開發。
JSON-RPC
如果我們希望構造一個去中心化應用(DApp),除了智慧合約的開發, 通常還需要使用其他開發語言為使用者提供操作智慧合約的使用者介面,例如 開發一個網頁、一個手機App或者一個桌面應用。這些程式碼都需要與以太坊 進行互動。
以太坊規定了每個節點需要實現的JSON RPC API 應用開發介面,該介面是傳輸無關的,應用程式可以通過HTTP、websocket或IPC等多種 通訊機制來使用該介面協議操作以太坊節點:
理論上你可以使用任何語言基於JSON RPC介面開發出以太坊之上的 去中心化應用,不過為了提高開發效率,更好的辦法是 使用特定語言的JSON RPC封裝庫,這些庫封裝了JSON RPC的協議細節, 有助於開發人員聚焦在業務邏輯的實現上。
不過在php社群中,目前還缺乏得到統一認可的、相對比較成熟的以太坊開發包,在DApp的開發過程中,往往需要綜合利用多方面的程式碼資源才能解決 問題。
課程地址:
http://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3
課程內容
本課程的目的是幫助php工程師快速掌握開發以太坊應用的技能,同時穿插 講解以太坊的一些基本概念,例如:賬戶、交易和智慧合約的開發等。
第二章 Hi,以太坊
這一章將通過一個簡單的php應用的開發來講解使用 php進行以太坊應用開發的最簡流程,通過這一部分的學習,你就可以在自己 的php應用中引入基本的以太坊支援了。
第三章 賬戶管理
這一章將詳細介紹以太坊的賬戶管理介面。如果你 對開發中心化錢包應用感興趣,或者需要在自己的網站中動態建立賬戶(例如,你 希望為網站增加對以太坊支付的支援),那麼這部分內容會有很大的幫助。
第四章 理解狀態與交易
這一章主要講解以太坊的交易操作介面,同時也介紹一些 重要的概念,例如狀態、裸交易、gas等。這部分內容將幫助你理清php 應用與以太坊互動的大多數問題。
第五章 智慧合約的開發、部署與互動
這一章將通過一個ERC20代幣合約的開發、編譯、程式碼生成、部署與互動 的完整流程,講解使用php操作solitiy合約的方法。如果你希望為自己的 網站增加代幣支援,這一部分的內容是必須的。
第六章 過濾器與事件
這一章主要講解以太坊的通知機制以及如何在php中使用過濾器來監視 塊和交易的生成與合約事件的觸發。
課程為每個知識點都提供了相應的預置程式碼,你可以在實驗環境的~/repo 目錄下檢視。
課內php的小例子
使用php獲取節點版本資訊。
我們在php程式碼中傳送http請求包就可以了。你可以使用任何一個你喜歡的http庫例如curl、guzzle等, 甚至直接使用socket來呼叫以太坊的JSON RPC API。
例如,下面的程式碼使用guzzle庫:
<?php
$client = new GuzzleHttpClient();
$opts = [
`json` => [
`jsonrpc` => `2.0`,
`method` => `web3_clientVersion`,
`params` => [],
`id` => time()
]
];
$rsp = $client->post(`http://localhost:8545`,$opts);
echo $rsp->getBody() . PHP_EOL;
?>
把上面的內容儲存為raw-test.php,然後執行:
~$ php rpc-guzzle.php
你應當就可以看到結果了。
大家可以訪問這裡php以太坊,本教程詳細講解如何使用Php開發語言為網站增加以太坊區塊鏈支援,課程內容即涉及以太坊中的核心概念,例如賬戶管理、狀態與交易、智慧合約開發與互動、過濾器和事件等,同時也詳細說明如何使用Php與以太坊進行互動,是Php工程師學習以太坊應用開發的不二選擇。
另外推薦幾個教程:
– web3j教程,主要是針對java和android程式設計師進行區塊鏈以太坊開發的web3j開發詳解。
– 以太坊教程,主要介紹智慧合約與dapp應用開發,適合入門。
– 以太坊開發,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
相關文章
- PHP工程師如何基於比特幣進行開發PHP工程師比特幣
- 在以太坊發行代幣Token系列教程(1)
- 用 PHP 開發一個簡單的以太坊支付系統PHP
- 以太坊開發計劃
- 以太坊DApp開發指南APP
- EthBox以太坊開發套件,一鍵安裝部署以太坊開發環境套件開發環境
- 以太坊Solidity程式語言開發框架————3、建立一個工程Solid框架
- 開發者的以太坊入門指南 | Jeth 以太坊系列線下活動
- android和java程式設計師使用web3j進行區塊鏈以太坊開發詳解AndroidJava程式設計師Web區塊鏈
- 開發者的以太坊進階指南 | Jeth 以太坊系列線下活動第四期北京場
- PHP 開發工程師基礎篇 - PHP 字串PHP工程師字串
- 深圳公司招聘 PHP 開發工程師PHP工程師
- 招聘:PHP高階開發工程師PHP工程師
- 以太坊原始碼分析(18)以太坊交易執行分析原始碼
- 以太坊DApp開發入門教程——區塊鏈投票系統APP區塊鏈
- 3.5 以太坊開發環境搭建開發環境
- 如何使用Meteor開發以太坊DappAPP
- 理解以太坊DApp及開發工具APP
- 全棧開發以太坊應用的完整教程指南與原始碼 - Dabit全棧原始碼
- 開發以太坊遇到的幾個問題
- 基於以太坊的Token開發步驟
- PHP 開發工程師基礎篇 (PHP 陣列)PHP工程師陣列
- 以太坊智慧合約開發第二篇:理解以太坊相關概念
- [譯] 什麼是以太坊?以太坊初學者手把手教程
- 尋找~PHP 開發工程師 - 全職PHP工程師
- python利用web3.py開發以太坊應用dapp的實戰教程PythonWebAPP
- Zend Studio使用教程:使用PHP 7進行開發(二)PHP
- PHP 和樹莓派開發一個比特幣 / 以太坊交易機器人PHP樹莓派比特幣機器人
- 廣州番禺高薪招聘php開發工程師高薪PHP工程師
- 開發者的以太坊入門指南 | Jeth 以太坊系列線下活動第三期
- windows 以太坊開發框架Truffle環境搭建Windows框架
- 給 Web 開發人員的以太坊入坑指南Web
- 給Web開發人員的以太坊入坑指南Web
- java和android app如何使用web3j開發以太坊智慧合約並進行交易JavaAndroidAPPWeb
- 進軍測試開發工程師之路~工程師
- 以太坊學習筆記————4、以太坊發展歷史回顧筆記
- 使用 PHP 生成以太坊錢包和金鑰對PHP
- PHP開發工程師面試問題集錦PHP工程師面試