Transactions

乙太坊傳播延遲

  • October 12, 2018

我有一個非常初級的問題。假設我有一個包含不同機器 IP 地址的列表,我想通過乙太坊區塊鏈共享它們,並假設隨著時間的推移列表非常大,與其他節點共享並添加到塊中需要多少時間? 無論列表大小如何,都需要 14 秒嗎?如果有任何參考資料,那就太好了。請幫忙。

這只是用於學習目的的人為範例。操作起來會很昂貴。

您將創建一個合約來保存狀態和更新功能。我已將訪問控制問題放在一邊,並檢查重複項以使範例保持簡短。

  1. 一旦部署交易被探勘,合約就會傳播。
  2. 一旦appendIP("address")發送到合約的交易被探勘,插入(附加,如實施)將傳播。
pragma solidity 0.4.25;

contract IPList {

   string[] public ipList;

   event LogNewIp(address sender, string ip);

   function appendIP(string ip) public {
       ipList.push(ip);
       emit LogNewIp(msg.sender, ip);
   }

   function getIPCount() public view returns(uint count) {
       return ipList.length;
   }
}

重要的是採礦過程。該交易“燃燒”了大約 65,000 個氣體,這是包括儲存在內的計算量。交易包括出價,gasPrice即使用者願意為每單位天然氣支付的價格。gas時間gasPrice是交易的成本,以 ETH 為單位。

為什麼這很重要?因為礦工優先考慮具有更高gasPrice. 相應地定價,該交易很可能在 15-30 秒內被納入。價格較低,可能暫時不會開採,或者根本不會開採。

一旦被探勘,該交易就成為區塊鏈規範歷史的一部分,並將在幾秒鐘內為所有最新節點所知。

如果不清楚,交易將是某個區塊的一部分,因此所有趕上該區塊的節點都知道,這些節點將在短時間內成為大多數節點。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/60504