NNS拍賣合約

前言

        關於NNS的介紹,這裏就很少作描述,相關的信息能夠查看NNS的白皮書http://doc.neons.name/zh_CN/latest/nns_background.htmlhtml

        首先nns中使用的競價貨幣是sgas,關於sgas介紹能夠戳http://www.javashuo.com/article/p-bgoxxpdw-ks.htmlgit

       這裏只是簡單的把拍賣的流程梳理一下,不會附上代碼,有興趣看代碼的能夠戳https://github.com/NewEconoLab/neo-ns/blob/master/dapp_nns_register_sell/nns_register_sell.csgithub

        首先明確一下合約開發過程當中的幾個限制。app

        限制一:合約只能被動的觸發,它沒有定時器,沒辦法定時主動作一些事情。區塊鏈

        限制二:一筆交易只有10gas的免費調用額度,因此在作一些複雜流程的時候只能妥協拆成兩步或者採起一些預處理的方式來作。spa

正文

一   域名的開拍

        你們印象中的拍賣確定都是拍賣師把藏品拿到臺前,你們開始瘋狂出價,結束後把拍賣的錢給藏品的主人。拍賣合約是不同的,由於拍賣合約內的全部域名都不屬於誰,全部人只有使用權。任何人均可以把一個不在使用期的域名拿到臺前來拍賣,拍賣獲得的錢會所有進入獎池,在某個時機再所有空投出去。.net

二   拍賣合約的帳戶

        拍賣合約設定的出價方式是每次出價的時候都要把錢上交才能出價,並無採用先喊價後結算等方式。主要這種方式沒有信用等因素的干擾,簡單粗暴。這種出價方式對於出價者來講實際上是兩步操做,先給錢再喊價。從合約調用層面來說就是須要先調用sgas合約的轉帳,而後調用拍賣合約的出價。一個交易中若是包含了這兩步調用合約的操做,極易超出10gas的免費額度,但若是分紅兩個交易發送又須要兩個高度的確認,用戶體驗很是差。因此拍賣合約自身創建了一個帳戶系統,用以緩衝。能夠類比爲超市的充值卡,用戶先充值一筆錢到充值卡上,之後每次在超市消費都用充值卡結算,超市活動返點什麼也能夠直接返回到你的充值卡,不須要你過來領取。htm

三    合約內的時間跨度計算

        合約自開拍後必定有三天的自由競價期,可能有兩天的隨機期結束期。拍得域名後有一年的使用期(從域名開拍的時間開始計算),使用期前有三個月的續約期。blog

        合約內的時間跨度都是用時間戳來計算,例如開拍某個域名的高度是1000000,對應的時間戳是1515777377。那麼這個域名的自由期就是時間戳小於1515777377+3*24*3600的塊。使用期的就是小於1515777377+365*24*3600的塊。開發

四    拍賣的自由期

        從域名開拍的塊對應時間戳做爲起始時間,三天以內爲自由期。在自由期用戶能夠自由競價。

        須要注意的是,若是域名開拍以後自由期內並無任何人有過出價,那麼域名就被標記爲流拍,能夠繼續被申請拍賣。

        自由期內的第三天存在有效出價的話,就會進入隨機期。不然直接跳過隨機期,進入清算階段。

五    拍賣的隨機期

        進入隨機期後,最長會持續兩天,競拍者在這個時段出價,會有隨機的機率結束這場域名的拍賣。這個機率會隨着時間愈來愈高,能夠近似的認爲隨機期過了10%那麼就有10%的機率觸發結束。時間點越日後,結束的機率越大。須要注意的是,若是此次的出價觸發告終束,那麼此次的出價並不會生效。

        之因此設定一個隨機期的時段,是由於只有自由期的話,沒人會願意在一開始的時候就爲域名出價,只要在快結束的時候出價就能夠達到效果,這樣的話會致使拍賣流程毫無心義,整個的拍賣流程甚至只要一個塊就能夠完成。所以咱們加入了隨機期這一時段,用不肯定的結束時間點來避免用戶在接近結束的時候扎推出價,讓用戶儘早的出到本身心目中的價格。

六    域名的使用期和續約期

        域名若是被成功拍賣,那麼拍賣的獲勝者就享有一年的使用權。時間是從域名申請開拍的時間開始,365天后爲到期時間。

        到期前三個月內爲續約期,域名的使用者能夠申請續約延長一年的使用時間,延長後的到期時間爲原到期時間加365天。目前續約不收取任何費用。

        域名到期以後,原使用者能夠繼續使用。但其他人此時能夠申請開拍這個域名,若是拍賣成功,原使用者會喪失使用權。

七    拍賣清算

        當一個域名被成功拍賣以後,全部參與拍賣的用戶都須要清算一下此次拍賣的資金。成功拍到域名的人把拍賣的總金額都轉到獎池裏,失敗的人則上交10%的費用看成手續費並退回90%到拍賣合約的帳戶中。另外成功拍到域名的人還須要本身領取域名。有這樣的流程是由於合約不能主動作事情,因此須要用戶本身處理本身的資金問題。

 

結束語

        拍賣是NNS項目中很是重要的域名得到方式。相比先到先得,直接分配等方式,競拍能夠更有效的讓真正想得到使用的人拿到域名。

        域名的使用可以提高區塊鏈的易用性。將來,隨着NEO生態的應用愈來愈多,NNS的域名也會愈來愈有價值。

相關文章
相關標籤/搜索