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 参数指定。

这些分发的秘钥文件的唯一目的是用假 NCT 和假以太坊进行测试。 切勿使用生产中或真实社区的 Polyswarm 项目测试秘钥文件。 切勿用真实的 NCT 或以太坊向这些测试秘钥文件中包含的钱包提供资金。 在开发测试环境之外运行时,您必须创建自己的生产密钥文件。 您的生产密钥文件的安全完全由您负责。

官方以太网客户端(go-ethereum 或简洁形式 geth)包含生成秘钥文件的说明。 参阅在 geth 中管理您的帐户


为您的钱包充入资金

一旦您生成了自己的密钥文件,您将需要使用 ETH 和 NCT 为您的钱包充入资金。

一般来说,有三种充入资金的渠道:

  1. 在加密货币交易所购买 ETH 和 NCT,并将其转入与您的参与者钱包对应的地址。 购买和转移加密货币的方法不在本文档范围内。
  2. 订阅 PolySwarm Direct — 一种即将提供的服务,带有可以配置的可自动重新充值功能,可确保您的参与者有资金。 此服务正在开发中,敬请期待!
  3. 初始伙伴已经按照我们公布的分发时间表在生产钱包中接收到了 NCT 种子。

寻找您的社区

PolySwarm 市场由一些社区组成。 社区是个人和公司群体,他们都有特定的恶意软件兴趣,或相互同意对在社区内交换的工件保密。

PolySwarm 的 Lima 社区是一个人人都可以访问的公共社区——适合您从这里开始。 Lima 是安全专家通过其参与者建立信誉的一种“试验场”。 一旦安全专家建立了信誉,他们可能会让更多的社区参与。 随着更多的社区上线,他们将出现在 PolySwarm 门户中:

现在,让我们在假设我们只想加入 Lima 社区的情况下继续。

polyswarm-client 为基础的参与者目前仅支持在给定时间与单个社区通信。 将来的版本将支持多个社区。 与此同时,请对每个社区运行参与者 (& balancemanager) 一个的实例。


将 NCT 传递到您的社区

回想一下,每个社区都有一个不同的侧链,PolySwarm 交易在此进行。 为了参与,您需要在社区的侧链上保持 NCT(不需要 ETH)余额。

我们简化了这一点:您可以使用 < 0>polyswarm-client 的 balancemanager 实用程序。 您需要同时运行参与者和 balancemanager,以在社区侧链上保持 NCT 余额。 Windows 用户记得集成测试说明 中的 balancemanager 运行方法。 Linux 用户的 balancemanager 由 Docker 透明地处理他们。

balancanager 可以在三个模式下运行:

  1. 存款:将配置的数量的 NCT 存入社区并退出
  2. 提取:将配置的数量的 NCT 从社区取出并退出
  3. 维持:持续确保社区中有可配置余额的 NCT

大多数用户都只想维持 一个余额 — 我们将在下文深入讨论这个功能。 高级用户可以手动存入取出资金。


API Keys

为了保护自己免受痛苦/拒绝服务 (DoS) 的影响,社区可以选择发布其成员 API 密钥,并对这些密钥适用利率限制。 Lima 就是一个此类社区,但是 API 密钥可提供给所有人。

要获取您的 API 密钥,请在 PolySwarm 门户上注册,单击右上角的您的姓名,然后选择“帐户”。 您的 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 的运行,您现已插入到您选择的社区!