introduction

Docker 實作 PoW

安裝 ca_geth docker docker pull calee0219/ca_geth 更好的版本 XD geth-node docker pull blakeberg/geth-node 搭建基于以太坊的私有链环境 以太坊上搭建私鏈群 以太坊私網建立 detail info do transaction 建立自己的 Ethereum 私鏈做研究 Creating a Private Chain/Testnet How To Create A Private Ethereum Chain 快速安裝 使用 calee0219/ca_geth docker 這樣就可以開始挖 CACoin 啦~ docker run ca_geth -t /root/init_start.

Ether Explorer 架設

explorer 提供類似 EtherScan 的功能 用 pulling 的方式更新,效能較差 UI 好看 安裝 前處理 需要先有 npm, bower sudo apt-get install nodejs sudo apt-get install npm sudo apt-get install bower geth 需要開 rpc

Ethstats 佈署

分別需要兩個 repo api 的: https://github.com/cubedro/eth-net-intelligence-api 前端的: https://github.com/cubedro/eth-netstats 什麼是 netstats ethereum 監控網路節點狀態的視覺化網頁呈現 任何人都可以在EthStats仪表板上添加他们的节点 展示重要信息,诸如现在的区块,散表难度,gas价格和gas花费等 架構: 後端在每一台 node 上,主動利用 instance-api 以 WebSocket 提供資訊給前端,前端統一在一台 server 接受推播 後端可自己自由架設 api 部份架設 需求

Mastering in Bitcoin 讀書筆記

Mastering Bitcoin 精通比特幣 Ch1 / Ch2 Master in Bitcoin CH1,2 投影片 Ch3 比特幣客戶端 以 bitcoin core 為主 也可以到 這裡 直接選擇 binary file 執行 下載並切換版本

以太坊 相關資源連結

名詞介紹 Geth 啟動 geth geth --datadir "/root/chain" console 其中 datadir用於指定數據目錄。這個目錄不能夠預先創建,否則命令會失敗 帳戶 (地址) 產生私鑰 (32 Byte) 由私鑰推導出公鑰,ECDSA 算法 (64 Byte) 公鑰推導出地址 (20 Byte) 公鑰 (64 Byte) 公鑰進行 Keccak-256 hash,變成 32 Byte 32 Byte 前的 12 Byte 移除,剩下的 20 Byte 就是地址 帳戶地址 合約地址 (Genesis File) GAS BitCoin 是發行自己的數字貨幣 Eth 希望是用相同的規範(protocal),創造自己的利用(ex 貨幣, 合約) 可是你在使用他的服務產生自己的利用時,是需要礦工的支援 Gas 就是你付費給礦工的單位(手續費) => 運行一個合約要付出一定的 Gas Gas 同時也要能夠確保合約能夠停止 BitCoin 的手續費是以交易大小作計算 Eth 是以礦工運算的複雜度做計算 Gas 是隨市場波動而改變 如何計算 Gas: … wei 1e-18 Gwei 1e-9 Token PoS Proof-of-Stack

以太坊 相關資源連結

英文 官網簡介 主鍊資訊 白皮書 實作入門 線上課程 Ethereum Frontier Guide 以太坊開發計畫 中文 技術相關網站 以太坊官网文档中文版 新手初探以太坊(Ethereum) 以太坊生态系统中的工具和技术 中國的以太坊論壇 (EthFans) 以太坊智能合约编程之菜鸟教程 Taipei Ethereum meetup 影片 陳昶吾 | A Tour of Ethereum Ecosystem 學習路線 了解用途與意義 新手初探以太坊(Ethereum) 陳昶吾 | A Tour of Ethereum Ecosystem 看懂名詞 名詞解釋 geth 架設 了解創世區塊鍊 如何讓資訊透過網路擴散

以太坊建置與實作

利用 Geth 創世區塊 (Genesis block) { "config": { "chainId": 46723, "homesteadBlock": 1, "eip150Block": 2, "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000", "eip155Block": 3, "eip158Block": 3, "clique": { "period": 10, "epoch": 30000 } }, "nonce": "0x0", "timestamp": "0x594561a5", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000255eb6d4d37bfc66b565e6159948f829b67674f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x47b760", "difficulty": "0x1", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x0000000000000000000000000000000000000000", "alloc": { "0000000000000000000000000000000000000000": { "balance": "0x1" }, "0000000000000000000000000000000000000001": { "balance": "0x1" }, .

加密貨幣 相關資源連結

影片 介紹 (youtube) 簡介 (youtube) 區塊鏈,下一波巨浪 柏克萊大學 讀書會 區塊鏈經濟 ─ 貨幣、交易、智能合約 Coursera - Introduction to Crypto and Crypto Currency <- 比較偏寫程式的 書 Mastering Bitcoin BlockChain區塊鏈 區塊鏈技術指南 網站 BlockChain demo Bit / Eth / Hyp 論壇 & Blog 巴比特論壇 比特幣台灣 Bitcoin比特幣中文論壇 太坊中文技术社区 數位貨幣論壇 區塊客 Telegram Discord DataBank 交易所 MaiCoin BitoEX CoolBITX Bitexc 台灣 線上錢包 私鑰還是存在自己的機器上比較安全吧 XDD

區塊鏈簡述

簡報 緣起 拜占庭問題 想要有一個去中心化的制度 特徵 分散式架構 寫帳 以前的交易是以物易物 => 金錢作為有公信力的價值衡量 => 電子金融時代,變成紀錄交易資訊 (寫帳) 分散式需要解決的問題 雙花 同一筆錢被同時拿來買兩樣東西 第三方驗證的方式,會先確認這筆錢沒有被花過才能拿來作交易 分散式架構較難做這個驗證 解決方法: 用 voting 的方式 覆寫 解決方式: 要改變帳本資訊時,需要找到 hash 的衝突 => 困難 就算找到一個衝突,還需要把之後的 chain 的衝突 => 超困難 Crypto currency (密碼貨幣) 用 hash function 串接資料 Avalanche Effect 雪崩效應 應用 FinTech 智能合約 名詞 PoW 用來解決雙花,覆寫問題 雙花 讓寫帳需要花到一些算力 => 花一些時間 寫帳時間 » 資訊擴散時間 => 雙花時,還沒可以寫帳時,就已經收到這筆錢被雙花的資訊了 (理論上還是沒辦法完全解決) 如果有人可以掌控一部分的網域,是可能可以控制資訊的擴散 覆寫 每個人手上都會有一個差不多的大帳本 => 某人想要複寫帳本時,會發現 99% 人的帳本都跟他的不一樣 區塊鏈的架構 從概念到底層技術

單機多節點 POA 實作

單機多節點 Proof of Authority(POA) PoW,Miner 必須靠使用算力去解決密碼學問題來取得寫帳 PoA 思維是直接指定哪些節點有寫帳權,其他節點透過演算法如果是被授權的節點打包 Block 則判定 Block 有效 geth Clique Private chain (PoA 版本) private chain (POA) 建置 在同一個 machine 下建立 node install geth 4 node (建立四個資料夾) node 是一般的 ethereum client (做 POW) signer 在接下來的情境中當成打包 block 的角色 node1 node2 signer1 signer2 為 node 建立 account 分別到四個資料夾下做 geth --datadir .