raiden 利用鏈下網路狀態技術給以太坊上的數字資產帶來了許多nice的屬性:
raiden 1.0 詳解:
raiden 1.0 通過合約的方式實現了token 的線下狀態通道支付。
registry 合約是系統註冊合約,以太坊上的每一種代幣都可以一次註冊, 然後會產生乙個基於該token的狀態通道管理合約。每個有該token的使用者都可以選擇乙個搭檔建立乙個狀態通道合約,通過設定押金(會在鏈上存證)實現線下通道支付,線下交易都是雙方各自簽名確認即可, 撤出時, 再雙方提供證據, 鏈上交易存證。合約如下:
asset正常的transfer
1
2
3
4
5
6
7
a 通過b 轉帳給c:
a: 初始化secret
a: mediatedtransfer -> b
b:mediatedtransfer -> c
c:secretrequest -> a (證明收到的transfer是有效的)
a:secret -> c
c:secret -> b
canceltransfer:
1
2
3
4
5
6
a: 初始化secret
a: mediatedtransfer -> b
b: mediatedtransfer -> c(失敗: c 不能和d建立路經)
c:canceltransfer -> b
b:mediatedtransfer -> c2
c2:mediatedtransfer -> d
timeouttransfer
1
2
3
4
5
a: 初始化secret
b: mediatedtransfer -> b
b: mediatedtransfer -> c (失敗:沒有接收到c的ack訊息)
b: transfertimeout -> a
決議:a不會透露secret,嘗試新的transfer,b禁止c
1,編譯合約,並生成到genesis.json。
1
python tools/config_builder.py full_genesis > mycustomgenesis.json
2, 根據genesis.json初始化內容到指定目錄。
1
geth --datadir /tmp/privategeth init mycustomgenesis.json
3,啟動geth
1
geth --datadir /tmp/privategeth --networkid 123 --nodiscover --maxpeers 0 --rpc --minerthreads 1 --etherbase c13f2e8e9c92d81de806023d68cc64fe85bf6740 --mine
4,啟動雷電網路
1
raiden --eth_rpc_endpoint 127.0.0.1:8545 --registry_contract_address 79eafd0b5ec8d3f945e6bb2817ed90b046c0d0af --discovery_contract_address 2ce636d6240f8955d085a896e12429f8b3c7db26
舉乙個 alice 給 bob 轉帳的例子:
raiden 2.0 正在準備實現側鏈的功能。
以太坊原始碼分析 交易的執行
以太坊是乙個執行智慧型合約的平台,被稱作可程式設計的區塊鏈,允許使用者將編寫的智慧型合約部署在區塊鏈上執行。而執行合約的主體便是以太坊虛擬機器 evm 區塊 交易 合約 區塊鏈由區塊 block 組成,而區塊中打包一定數量的交易 transaction 交易可能是乙個單純的轉賬操作,也可能是呼叫乙個...
基於以太坊的去中心化 P2P 交易協議
在swap中,我們一直在思考發展以太坊代幣交易生態系統的最佳方式。今天,我們滿懷喜悅,發布swap 供各位同仁參閱 swap white 我們的設計的背後有兩種力量 去中心化 p2p 點對點 去中心化允許使用者用一種 去信任化 的方式來交換價值,而非依賴於乙個中心機構的安全性 道德觀和盡職調查。p2...
基於Ruby on Rails開發以太坊的應用
其中node執行geth或者eth,彼此通過30303埠進行p2p的連線,其上執行的協議即俗稱挖礦協議,也即共識協議,包括幾個部分,廣播交易或訊息,同步區塊等。node即節點,經常也稱geth client或geth server。每個node對外提供jsonrpc 8545埠 或者ipc埠,可以通...