關於墨客的DAPP鎖倉開發

2021-09-29 21:42:23 字數 1891 閱讀 5057

墨客共識社群提出鎖倉要求,根據各種討論,建議做多簽名錢包,原因主要是社群對於鎖倉規則沒有確定,爭論很大,但是對於資金處於某種邏輯下的共管沒有爭議。

大體功能性需求如下

建立多簽名錢包

支援投票m-n規則設定

支援通過初始設定投票人

支援現有投票人投票方式增加新投票人和踢掉投票人

支援使用者充值

支援投票方式轉移資金

支援資金流轉的流水顯示

補充性說明

是否強制轉移資金的目的地和充值位址一致

是否強制轉移資金的數量不能超過當初充值數量

這些邏輯是錢包共有人投票決定,增加這些邏輯不僅僅是**的複雜性問題,也是社群邏輯變更之後需要公升級**,引入更多的不確定風險。簡單的說,這個模型,只要投票通過,資金就被轉移到符合投票要求的位址去。

開發需要的資源

[url= typed structured data hashing and signing[/url]

[url= contract[/url]

[url= multisig contract[/url]

[url= api for multisig wallet smart contracts[/url]

簡單歸納一下,多簽名錢包在類以太的環境下都是合約形式,mist也是用合約支援多重簽名錢包, ethereum typed structured data hashing and signing是對結構化資料進行簽名形成特定的簽名資料,2和3是具體的多簽名錢包的實現**,可以參考。standard api for multisig wallet smart contracts提出了多簽名錢包合約的一般性指導建議,和我們鎖倉需求相比,這個建議比較接近我們的需求,但是不完全一樣。

墨客的鎖倉需求應該是存款和提現資料能一一對應,也就是說提現不能超過當初自己存款的總額,只是這個提現是否成立,需要多人投票來決定。

對於釋放的規則來說,可能是幣價,可能是時間,可能是某個公認的重大事件,這些作為合約來說,無法檢測到外部條件變化,應該是當事人發起提案後,投票決定。

我相信還有其他型別的鎖倉,鎖倉的資產成為貸款,有可能有抵押物,也有可能沒有,合約中的資料作為某個商業合同的依據,這些不在我們的考慮範圍之內,我們只考慮當前墨客的鎖倉基本鎖倉要求。

工作量估計:

合約編寫

以上估計7個工作日

以上一共35個工作日

有些地方沒看明白

1.『支援投票m-n規則設定』具體含義意思是什麼?

是指建立多簽名錢包時,n個公鑰,需要》=m個私鑰才能轉移資金。

還是指建立多簽名錢包後,n票中,需要》=m票才能轉移資金。

m個持有人,需要n票以上才能執行

2.『支援通過初始設定投票人』,這個投票人是通過什麼機制確定的?是由多簽名錢包的建立者指定的,還是什麼其他機制?難道不是所有參與鎖倉者就是投票人嗎?如果不是的話,那麼是否意味著『多簽名錢包參與簽名者』、『投票人』、『參與鎖倉者』這3者並不是重合的?

錢包建立者是乙個人,投票人是建立人設定的,一旦設定,權力轉移到所有投票人,按照m-n規則決定行為

鎖倉的可以不是投票人,也可以是

參與簽名的都是投票人

3.『支援使用者充值』是否就是使用者可以將自己的資金轉入多簽名錢包,從而參與鎖倉計畫。參與鎖倉後是否自動擁有投票權?如果這個使用者並非當初多簽名錢包參與簽名的人,那麼他的投票權如何行使?在我的理解中,投票權就體現在多簽名錢包參與簽名。

鎖倉和投票權不一定重合,可以不重合,鎖倉人只有提議發起權力,是否調動資金看投票結果

如果我的理解正確,那麼是否乙個沒有參與多簽名錢包簽名的使用者在充值的同時,要對原本的多簽名錢包增加自己的簽名。這就要求多簽名錢包在生成後可以增加或刪除簽名參與錢包。

如果我的理解不正確,那麼是否說明多簽名錢包參與簽名者只是該錢包的保管者,幫鎖倉參與者保管資金而已。當投票人投票決定轉移資金時,要求保管者提供私鑰來開啟多簽名錢包。

DAPP開發初探 永存的留言

truffle unbox react pragma solidity 0.4 19 contract storage message private wordarr function setword string s,string t public function getrandomword u...

開發基於以太坊智慧型合約的DApp

梳理一下架構關係 web3.js與以太坊通訊是通過rpc的方式實現的。ganache cli模擬了乙個以太坊的測試節點並提供對外的rpc訪問方式 就是例子裡經常說的http localhost 7545或者http localhost 8545 同時在其中內建了m個以太坊帳號,用於測試。1 安裝no...

關於實倉與虛倉和調撥單和虛倉調撥單的區別

何謂實倉?何謂虛倉?核算成本的倉庫我們稱之為實倉,不核算成本的倉庫我們稱之為虛倉.調撥單和虛倉調撥單的區別 1 實倉同實倉之間的調撥業務 這種業務主要處理不同實倉間的貨品調撥,由於實倉是需要核算貨品成本的,因此不同倉庫間的調撥存在兩種情況,同價調撥和異價調撥。2 實倉同虛倉之間的調撥業務 這種業務處...