2020-11-07 EOS 体系下钱包实现Multisig 多签的方法。
EOS體系下的多簽Multisig 實現。
首先我們需要知道EOS的賬戶體系 是由錢包地址與對應的權限表組合而成的。
例如一個普通的地址 eosalice 對應了2個不同的密鑰對, 一個是 owner ,一個是active , 分別對應了類似 EOS8gywijiNKo75ZkXYKW4LiavJjz3VxDpfL7r6C9fSkpbjzrQnuZ 這樣格式的一個公鑰,權重Weight 分別是1 , 然后這個賬戶的所有者能夠通過set account 指令(updateauth) 將 權限表做變更(轉移),如果新的權限表也是單一的公鑰,那么僅是更換了一個密鑰對 (Key pairs ) 而已;如果新的權限表(permission table) 是總權重>1 ,例如由2個賬戶組合而成的 active 2 : (alice@active 1,? bob@active 1 )? 那么這個賬戶新的active 權限表對應的action 執行的時候需要用到eosio.msig 合約,? 舉個例子, 這是一個眾籌的地址 kol.crowd , 它對應的權限表是 ( alice@active1 , bob@active 1 ,victor@active 1 ) , 現在kol.crowd 的余額是 1000.0000 EOS, 需要轉賬到一個地址 teacher ,金額是100.0000 EOS , 那么需要用到多簽合約的流程, 先做提案proposal , 之后由權限表里的各個用戶執行簽名approve , 簽名收集齊了后,由任意一個地址再發起一幣交易exec 這個提案, 這個時候賬戶kol.crowd 才會真正執行一個transfer 交易,轉賬到teacher 賬戶,金額是按照提案里設定的100.0000 EOS.
這里前后需要用到的cleos 指令包括:?
cleos set account? ? 設置權限表
cleos multisig propose? ? 提案
cleos multisig review? ? ? 檢查提案
cleos multisig approve? ? 簽名同意提案
cleos multisig exec? ? ? ?執行提案
可能用到的指令包括
cleos multisig cancel? ? ?取消提案
cleos multisig unapprove? ? ?取消簽名
我們看看命令行執行的提案內容。
?
?我們再看看在錢包APP 里對應的頁面呈現。
這個錢包在github 上可以下載,?https://github.com/xwh123/wallet/tree/main? ?目前只有安卓版, 想體驗整個流程的同學,可以聯系我們,獲得一個永遠有效的錢包地址,以及幾枚幣,用于測試。
?
總結
以上是生活随笔為你收集整理的2020-11-07 EOS 体系下钱包实现Multisig 多签的方法。的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 数据分析——数据清洗之文字特征编码
- 下一篇: 使用layui/layuiAdmin的总
