乙太坊域名註冊如何運作?
我想知道乙太坊域名註冊是如何工作的?從我在白皮書中可以看到,我知道有特定於帳戶的數據儲存,但我不知道這是否是註冊域的理想方式。通常,需要在所有帳戶之間進行一些共享數據儲存,才能擁有全球唯一的域。
乙太坊中的數據註冊如何工作?
所以域名註冊合約的全部意義不是發送交易,而是它的唯一目的是建立一個數據庫,然後其他節點可以查詢。
乙太坊智能合約具有不可變的儲存。這意味著您可以證明您對特定名稱的首要地位,然後其他人可以將其作為數據庫的一部分進行引用。
它歸結為其他實體對特定名稱 reg Dapp 的信任(網路效應、實用程序、它正在註冊名稱的服務等)。在某些情況下,人們會想要一個用於特定目的的名稱 reg,例如一家公司的託管契約列表,然後可以在內部使用或共享。在您在問題中提到的其他人中,人們寧願尋找一個控制 DNS 服務的單數名稱 reg。
您可以在此處查看範例名稱註冊智能合約:https ://github.com/ethereum/dapp-bin/blob/master/namereg/namereg.html
希望你覺得這個有用!
乙太坊網路最近引入了一個全球註冊商對象,它基本上是鏈上的公共智能合約。
這是乙太坊客戶端命令行輸出的片段:
namereg: { address: "0xc6d9d2cd449a754c494264e1809c50e34d64562b", AuctionEnded: function(), Changed: function(), NewBid: function(), PrimaryChanged: function(), Registrar: function(), addr: function(), allEvents: function(), content: function(), disown: function(), name: function(), owner: function(), reserve: function(), setAddress: function(), setContent: function(), setSubRegistrar: function(), subRegistrar: function(), transfer: function() }
namereg 合約允許將人類可理解的名稱與人類不可理解的數據相關聯。其中一個案例是為乙太坊地址創建一個全域地址簿。使用 namereg 合約,可以將乙太幣發送到“5chdn”而不是“0x<some hex value>”。還可以註冊 IPFS 雜湊之類的東西,允許將其用作去中心化 Web 的去中心化 DNS。
要測試它,請輸入您的 geth 控制台:
registrar = GlobalRegistrar.at('0xc6d9d2cd449a754c494264e1809c50e34d64562b');
要設置您自己的名稱並進行測試:
registrar.reserve.sendTransaction('thepiachu', {from: eth.accounts[0]}); registrar.setAddress.sendTransaction('thepiachu', eth.accounts[0], true, {from: eth.accounts[0]});
為了測試,看看你是否可以將“thepiachu”解析為你的乙太坊地址:
registrar.addr('thepiachu');
現在,每當有人想向您發送一些乙太幣時,您只需要這樣做:
eth.sendTransaction({from: eth.accounts[0], to: registrar.addr('thepiachu'), value: web3.toWei(1, 'ether'), gas: 21000});
GlobalRegistrar.at()
每次啟動 geth 時都需要執行該行,直到它被硬編碼。您還可以將
.setAddress()
上面的第二個參數替換為合約的地址以“按名稱呼叫它”。