PolySwarmPolySwarmPolySwarmPolySwarm
幫助

參與 PolySwarm 平台

測試了您的微引擎後,您可讓它在真正的 PolySwarm 平台工作!

大致上來說,插入 PolySwarm 市場取決於:

  1. 確定您要加入哪個(些)社區
  2. 將您的參與者指向這些社區的 polyswarmd 託管實例

在執行此操作時,有幾點事項需要注意。我們將在下面討論。


錢包 & 關鍵文件

PolySwarm 是建立於以太坊之上,一個可以編程的世界計算機,並藉由一個稱為 Ether (ETH)的原生加密貨幣來使其運轉。 當一個以太坊的用戶執行一個轉錢動作或是執行一個以太坊 “智能合約” (如 PolySwarm 的 Relay 合約)時,此用戶必須支付瓦斯(Gas)給以太坊網路來執行這項交易。 Gas 會從使用者的 ETH 餘額中扣除。

PolySwarm 使用花蜜幣(NCT)來運行 - 一個建構於以太坊之上的應用層加密貨幣。 NCT 對於參與 PolySwarm 市場是必要的。

作為您在 PolySwarm 平台中的代表,您的參與者必須能夠訪問 ETH 和 NCT。

加密貨幣錢包

與所有加密貨幣(例如比特幣)一樣,資金在 “錢包” 中維持。 從技術上講,一個錢包只是一個加密密鑰和一些元數據描述了鑰匙的使用情況。 從技術上講,一個錢包只是一個加密密鑰和一些元數據描述了鑰匙的使用情況。 擁有/控制錢包(及其中的所有資金)類似於擁有錢包秘鑰對的私有部分。

在 PolySwarm 中,如同使用所有加密貨幣應用程序時一樣,擁有訪問您錢包的私鑰的攻擊者可以偷竊您的所有加密貨幣 (ETH & NCT),並在平台上冒充您。 您絕對必須對您錢包的私鑰保密。

意味著確保您的私鑰不在本文檔的範圍內。 為了使您的參與者能夠參與 PolySwarm 平台(並代表您交易),您的參與者必須能夠用您錢包的私鑰簽署交易。 這意味著參與者必須能夠直接訪問密鑰(安全性較低),或者能夠請求能夠訪問秘鑰的設備/過程的簽名。 polyswarm-client 現支持直接密鑰文件訪問方法。 未來的 polyswarm-client 版本將支持將事務簽名卸載到另一台設備。

PolySwarm 錢包使用情況

測試參與者時,我們可以通過對polyswarm-client 實用程序(即micronginebalancanmanager)的--keyfile 參數,我們告訴我們的參與者,到何處找到一個包含我們加密私鑰的“秘鑰文件”。 通過polyswarm-client (和其他PolySwarm 項目) 分發的所有密鑰文件都使用一個簡單的密碼進行加密: password,通過`--password</ 0> 參數指定。

這些分發的秘鑰文件的唯一目的是用假 NCT 和假以太坊進行測試。 切勿使用生產中或真實社區的 Polyswarm 項目測試秘鑰文件。 切勿用真實的 Nct 或以太坊向這些測試秘鑰文件中包含的錢包提供資金。 在開發測試環境之外運行時,您必須創建自己的生產密鑰文件。 您的生產密鑰文件的安全完全由您負責。

官方以太網客戶端(go-ethereum` 或簡潔形式 `geth`)包含生成秘鑰文件的說明。 參閱[在 geth 中管理您的帳戶](https://github.com/ethereum/go-ethereum/wiki/Managing-your-accounts)。


為您的錢包充入資金

一旦您生成了自己的密鑰文件,您將需要使用 ETH 和 NCT 為您的錢包充入資金。

一般來說,有三種充入資金的渠道:

  1. 在加密貨幣交易所購買 ETH 和 NCT,並將其轉入與您的參與者錢包對應的地址。 購買和轉移加密貨幣的方法不在本文檔範圍內。
  2. 訂閱 PolySwarm Direct — 一種即將提供的服務,帶有可以配置的可自動重新充值功能,可確保您的參與者有資金。 此服務正在開發中,敬請期待!
  3. 初始夥伴已經按照我們公佈的分發時間表在生產錢包中接收到了 NCT 種子。

尋找您的社區

PolySwarm 市場由一些社區組成。 社區是個人和公司群體,他們都有特定的惡意軟件興趣,或相互同意對在社區內交換的工件保密。

PolySwarm 的第一個社區 Epoch 是一個人人都可以訪問的公共社區 — 一個適合您開始的地方。 Lima 是安全專家通過其參與者建立信譽的一種“試驗場”。 一旦安全專家建立了信譽,他們可能會讓更多的社區參與。 隨著更多的社區上線,他們將出現在 PolySwarm 門戶中:

現在,讓我們在假設我們只想加入 Lima 社區的情況下繼續。

polyswarm-client 為基礎的參與者目前僅支持在給定時間與單個社區通信。 將來的版本將支持多個社區。 與此同時,請對每個社區運行參與者 (& balancemanager) 一個的實例。


將 NCT 傳遞到您的社區

回想一下,每個社區都有一個不同的側鏈,PolySwarm 交易在此進行。 為了參與,您需要在社區的側鏈上保持 NCT(不需要 ETH)餘額。

我們簡化了這一點:您可以使用 < 0>polyswarm-clientbalancemanager 實用程序。 您需要同時運行參與者和 balancemanager,以在社區側鏈上保持 NCT 餘額。 Windows 用戶記得集成測試說明 中的 balancemanager 運行方法。 Linux 用戶的 balancemanager 由 Docker 透明地處理他們。

balancanager 可以在三個模式下運行:

  1. 存款:將配置的數量的 NCT 存入社區並退出
  2. 提取:將配置的數量的 NCT 從社區取出並退出
  3. 維持:持續確保社區中有可配置餘額的 NCT

大多數用戶都只想維持 一個餘額 — 我們將在下文深入討論這個功能。 高級用戶可以手動存入取出資金。


API Keys

為了保護自己免受痛苦/拒絕服務(DoS)的影響,社區可以選擇發布其成員 API 密鑰,並對這些密鑰適用利率限制。 Lima 就是一個此類社區,但是 API 密鑰可提供給所有人。

要獲取您的 Epoch API 密鑰,請在 PolySwarm Portal 上註冊,單擊右上角的您的姓名,然後選擇" 帳戶 "。 您的 API 密鑰將顯示在您的個人資料中。

在基於 polyswarm-client 的參與者中使用 API 密鑰

在基於 polyswarm-client 的參與者中使用 API 密鑰只不過是填充 --api-key 命令行參數。 我們將在下面討論這個問題。

在自定義引擎中使用 API 密鑰

如果要構建自定義參與者,請確保對託管在社區的 polyswarmd 實例的所有 API 請求都在標頭中包含您的 API 密鑰:

Authorization: [API KEY]

有關 polyswarmd api 的更多詳細信息,請參閱我們的 api 規範 polyswarmd api documentation


總結

概括一下,我們已擁有:

  1. 生成一個供生產使用的錢包密鑰文件
  2. 用 ETH 和 NCT 向這個錢包充入了資金
  3. 對我們社區做了決定
  4. 檢索我們社區的 API 密鑰

現在,我們已準備好將參與者 (& balancemanager) 插入 PolySwarm 平台!

在下列命令行摘要中,根據需要,用 ambassadorarbiter 替換 microengine

$  microengine \
  --polyswarmd-addr lima.polyswarm.network \
  --keyfile <path to your self-generated and funded keyfile> \
  --password <encryption password for your keyfile> \
  --api-key <your API key>
  --backend <the name ("slug") of your scan engine (e.g. acme_eicar)>

除了參與者之外,您還需要運行 balancemanager

balancemanager 還需要訪問您的 keyfile

$ balancemanager maintain \
  --polyswarmd-addr lima.polyswarm.network \
  --keyfile <path to your self-generated and funded keyfile> \
  --password <encryption password for your keyfile> \
  --api-key <your API key> \
  --maximum <(optional) the maximum allowable balance in the Community before a withdraw is made>
  <MINIMUM: deposit into the Community when balance drops below this value>
  <REFILL_AMOUNT: the amount of NCT to transfer when Community balance falls below MINIMUM>

請使用 --help CLI 標誌,獲得命令行參數的完整列表:

恭喜

隨著您的參與者和 balancemanager 的運行,您現已插入到您選擇的社區!