去中心化應用
去中心化應用是可使用戶和供應商之間直接互動的服務(例如,鏈接某些市場上的買方和賣方,文件存儲裏的持有者和儲存者)。以太坊去中心化應用典型地經過HTML/Javascript網絡應用與用戶互動,使用Javascript API與區塊鏈通訊。去中心化應用典型地在區塊鏈上有本身的相關合約套件,用來編碼商業邏輯,容許持久存儲對共識要求嚴格的狀態。記住因爲以太坊網絡上的運算天生冗餘,執行的gas成本會比離鏈的私人執行成本更高。這就激勵着去中心化應用開發者限制執行的代碼數量和儲存在區塊鏈上的代碼數量。javascript
去中心化應用目錄
使用以太坊的去中心化應用被編譯到如下列表,在開發的不一樣階段列出(概念,工做原型,實時/部署的)。若是你在開發去中心化應用, 考慮向這些列表添加入口:java
列表中提供的去中心化服務覆蓋大範圍的領域,包括金融,保險,預測市場,社交網絡,運算和存儲分配,賭博,市場,物聯網,管理,合做,開發和遊戲。git
咱們最終會預期什麼應用? https://www.reddit.com/r/ethe...github
未來,去中心化應用可能會在去中心化應用瀏覽器裏集成的dappstores中列出和分配。web
去中心化應用瀏覽器編程
開發者工具
去中心化應用開發須要理解Web3 Javascript API, the JSON RPC API和Solidity編程語言。
注意:有開發者工具幫助你開發、測試和部署去中心化應用,自動使用如下列出的資源。瀏覽器
去中心化應用開發資源安全
示例服務器
https://dappsforbeginners.wor... https://github.com/ethereum/wiki/wiki/Dapp-Developer-Resources網絡
教程
Mix-IDE
Mix是官方以太坊IDE,它容許開發者在以太坊區塊鏈建立和部署合約及去中心化應用。它包含一個Solidity源代碼排錯器。Mix
IDEs/Frameworks
下面是用於寫以太坊去中心化應用的開發者框架和IDE。
以太坊控制檯
以太坊節點的命令行控制檯。
以太坊控制檯經過IPC鏈接到在背景運行的以太坊節點(用eth和geth測試)並提供一個交互的javascript控制檯,包括web3對象和管理員附件。
這裏能夠找到可用管理列表 以太坊節點控制指令
要使用這個控制檯,你須要啓動一個本地以太坊節點和可用的ipc溝通插口(數據目錄中的geth.ipc文件)。開啓一個節點後,ipc插口默認位於你的以太坊本地主目錄。你也能夠設置—test選項來使用特定節點測試指令。
而後你能夠在控制檯輸入
這是—test模式節點指令的釋義:
關於節點配置文件的更多信息。
底層服務
Whisper
whisper是一種信息檢索協議,它容許節點間直接以一種安全的形式互發信息,並對第三方組織窺探者隱藏發送者和接收者的信息。
這是不依賴於一箇中心服務器的通信管理。
Swarm
Swarm是分佈式存儲平臺以及內容分發服務,以太坊web 3堆棧自帶的基層服務。Swarm的首要目標是提供足夠去中心化和冗餘的以太坊公共記錄儲存,尤爲是儲存和分配去中心化應用代碼和數據,以及區塊鏈數據。從經濟觀點看,它容許參與者有效集中儲存和帶寬資源,用覺得全部參與者提供以前提到的服務。
從終端用戶的觀點看,Swarm和WWW並無很大不一樣,除了上載並非針對一個特定的服務商。目標是點對點存儲,並提供抗DDOS、零故障、容錯、抗審查的解決方案以及自我維護,這歸功於一個使用點對點記帳體系並容許以付款交換資源的內置激勵體系。Swarm被設計爲與以太坊devp2p多協議網絡層次,爲了域名解決方案的以太坊區塊鏈,服務支付和內容可用性保險結合。
swarm 上的ÐΞVcon演講
Viktor Trón, Daniel A. Nagy:Swarm – YouTube上的以太坊 ÐΞVcon-1演講
Daniel A. Nagy:保持公共記錄安全可用 – YouTube上的以太坊ÐΞVcon-0演講
Code and status
資源
github上的發佈
開發路徑圖
twitter上的ethersphere
swarm gitter room
swarm subreddit
在線和離線存儲
https://www.reddit.com/r/ethe...
https://www.reddit.com/r/ethe...
什麼是swarm,用途是什麼? – stackexchange問答
以太坊定時器
做者: Piper Merriam
網站: alarm_main_website。
文檔: alarm_documentation。
促使安排交易稍後發生的市場。提供unix中crontab或javascript 中的setTimeout相似的角色。 •以太坊提案中的去中心化cron服務 – 做者Peter Szilagyi
Ethereum Computation Market
做者: Piper Merriam
網站: computation_market_main_website。
文檔: computation_market_main_website。
促使離線運算可驗證執行的市場。容許每一個昂貴的運算在以太坊虛擬機內使用,沒必要實際支付在鏈上執行它們的高額gas成本。
BTCRelay
BTCrelay
更多信息 (關於ETH/BTC雙向peg,不需修正比特幣代碼)。
BTCrelay 審查
RANDAO
隨機數: https://www.reddit.com/r/ethe...
The EVM
以太坊虛擬機(EVM)是以太坊智能合約的執行環境。它不只被沙箱化,並且其實是徹底隔離的,這意味着以太坊虛擬機內部運行的代碼不能夠訪問網絡,文件系統或其餘進程。智能合約甚至對其餘智能合約的訪問權限都是有限的。
合約存在於區塊鏈上,區塊鏈是以太坊特定的二進制格式(以太坊虛擬機字節代碼)。然而,合約典型地是用以太坊高級語言寫成,用以太坊編譯器編譯成字節代碼,最終用以太坊客戶端上傳到區塊鏈。
參考資料:
文章中的列表對應的連接能夠參考《Ethereum Homestead Documentation》第94頁1.7.5 Dapps
汪曉明 HPB芯鏈創始人,巴比特專欄做家。十餘年金融大數據、區塊鏈技術開發經驗,曾參與建立銀聯大數據。主創區塊鏈教學視頻節目《明說》30多期,編寫了《以太坊官網文檔中文版》,並做爲主要做者編寫了《區塊鏈開發指南》,在中國區塊鏈社區以ID「藍蓮花」知名。