General-grants-program: Polkadot 运行时环境:替代实施补助金

创建于 2018-07-18  ·  16评论  ·  资料来源: w3f/General-Grants-Program

Web3 基金会正在寻求吸引团队开发 Polkadot 运行时环境 (PRE) 的替代实现,这是 Polkadot 的核心组件。

编写完整的 Polkadot 实现的第一步是从编写 PRE 的实现开始。 PRE 背后的想法是它可以用来创建独立的区块链,同时还允许连接到 Polkadot 网络。

Web3 基金会与 Parity Technologies 签约,以编写 Polkadot 的第一个实现。 他们对 PRE 的实现称为“Substrate”。 该产品目前是 PRE,但将来会有更多功能。 对于这笔赠款,我们只关心 PRE。 当前的 Substrate 代码位于 Polkadot GitHub 存储库中,并在 Rust 中实现

欲了解更多信息,请参阅以下文件以获取有关如何申请的更多详细信息:

Polkadot 运行时环境:替代实施补助金

(仅供参考,以下语言是首选:Go(高于所有其他语言)、C++ 和 Java。)

Core Tech Sought

最有用的评论

您好,我们的团队在区块链周期间在柏林,并且有一段难以置信的时间结识了 Parity 团队的人。 我们对用 Go 编写 PRE 的实现表现出了兴趣。 我将在接下来的几天内填写申请表。 谢谢!

所有16条评论

是否有用于实施的首选语言?

Rust 或 Go 中的替代实现在早期将非常有用,因为许多当前的区块链堆栈都是用一种或另一种编写的。

以后,在 JavaScript(如果它支持编译为 wasm)或 Java/C# 中实现会很有趣。

我将在明天发布更多信息(比预期的时间框架稍晚!)。

参考实现在 Rust (即 Parity Tech)中,另外还有Jaco 的 JS 实现(一个完整的 Substrate 客户端,但没有块创作)。

首选实现是:Java、Go、C++。

所以,运气好的话,我明天可以发布完整的细节! :-)

@EdwardAThomson赠款申请有时间表吗?

我正在努力帮助一个团队,特别是使用 Go。 如果现有团队正在寻求帮助,请与我联系。 gfrеⅾеrісο аt іģսаzս ḋοt ѕοⅼսtіоոѕ 或 Twitter:ģсѕfrеḋ。

@gcsfred2应用程序将打开一段时间。 目前希望有更多的实现,因此至少在我们有几个感兴趣的团队致力于此问题之前,申请流程将保持开放。

您好,我们的团队在区块链周期间在柏林,并且有一段难以置信的时间结识了 Parity 团队的人。 我们对用 Go 编写 PRE 的实现表现出了兴趣。 我将在接下来的几天内填写申请表。 谢谢!

嘿 ChainSafe 团队,很高兴听到这个消息! 我看到你的个人资料上有一个电子邮件地址。 我会发一封电子邮件打个招呼。 Go 是我们的首选语言之一,因此您的应用程序很有趣。 我们现在开始对编写替代实现产生了浓厚的兴趣。

热衷于参与 Polkadot 的核心开发。 表格提交! :)

添加相关视频和博客的列表。

视频

博客等

技术聊天频道

我们建议您进入 Substrate 技术频道并开始提问。 一些开发人员在现场回答问题,另外还有少数社区成员也正在成为专家!

感谢您迄今为止的所有兴趣。 我们收到了许多申请表,但申请流程仍然开放,以防任何团队想知道并考虑提交提案。 我们希望选择 2 或 3 个团队来开发替代实现,但我们还没有选择任何人!

关于这个主题的进一步更新。 你们中的许多人一直在询问时间表和所涉及的工作量。

我与 Parity 的开发者 Jaco 进行了快速交谈。 他是在 JavaScript 中创建实现的人。 希望这能给你一个更好的主意。 他也几乎独自工作!

您希望开发人员/开发人员团队创建 Substrate 的实现需要多长时间?

“很难说 - 问题是我的实现在 Rust libp2p 代码中发现了很多错误,所以我一直在等待(感觉就像永远)修复。太早了。

所以首先,什么语言——如果不是 JS、Go 或 Rust,他们需要编写自己的 libp2p 实现。 (也许有一种方法可以将 Go/Rust 版本用作库)”

“那么棘手的地方是:

  • Parity 编解码器的实施(2 周以上才能正确完成)- 任何网络或 RPC 相关的东西都需要
  • Trie DB 的实现——他们可以学习 JS、Rust、以太坊客户端所做的事情,但是 Substrate 有自己的版本。 (再一次,有可能使用 Rust 版本作为库)
  • WASM 环境,这些东西没有记录在任何地方,而是在代码中 - 我在这里花了大约 1 个月的时间,但再一次,实现一直在改变(太早了)
    然后是零碎的东西——区块链数据库(over-and-above state trie)、RPC 调用、潜在的轻客户端。”

至少,在他看来:

  • 特里
  • libp2p
  • WASM 环境

“如果在 Go 中实现,Trie 他们实际上可以采用以太坊版本并“只是”放入 blake2 和奇偶校验编解码器。”

对于这笔拨款,我们也在寻求达成共识的部分来完成。

您好,刚刚填写了 C++ 实现的表格。

您好,刚刚填写了 C++ 实现的表格。

已收到! 谢谢! @Yuvasee

申请程序仍然开放。 在做出任何决定之前,我们将接受更多申请。

您知道我们的 W3S 会议吗? 现在有降价和免费门票可供选择:

https://medium.com/web3foundation/endowing-an-open-inclusive-community-at-web3-summit-3013456f4f84

大家好,我们对开发过程有一些疑问,我们认为与大家分享答案会很好。

1. 了解替代实施的动机

  • 目前的实现在多大程度上是一个参考?

    • 有一个规范处于草稿状态。 希望尽快分享。
    • 当前的实现就像一个参考规范,但实际上并非如此。
    • RFP 很早就开始了,所以我们可以开始与团队交谈。
    • 我们建议他们尽早提出建议。
  • 寻求独立实施? 在这种情况下,如果新的实现基于 Substrate 的 Rust 实现,是否可以?

    • 尽可能独立。 以适合该语言的惯用方式完成。
    • 不是直接翻译。
    • 授权一个额外的开发者社区。 不要锁定一组特定的开发人员。
    • 还可以帮助识别实现之间的持续差异。
    • 由于它是一个去中心化的网络,我们需要替代实现。 不想让一个团队控制网络的开发。
  • 寻求更好的性能? 如果是这样,我们想要改进/治疗的要求/症状是什么?

    • 并不真地。 Rust 足够快。 我们真的很想接触新的开发者社区并改善去中心化(网络弹性和治理)。
  • 为多个平台提供更好的可移植性?

    • 期望它可以在 Linux 和 Mac 上运行。 (类Unix平台)
    • 在 Windows 上会很棒。
  • 偏爱围棋的背后有什么理由吗?

    • 想要包括现有的 Go 社区。
    • Go 中已经有一个 Wasm 解释器。 所以它可能更容易: https ://github.com/perlin-network/life
    • 我们可能会资助至少 2 个实施。 例如 C++ 和 Go。
    • 用 C++ 编写的内容还有很多。 可能不太可重用的代码。 C++ 中可能没有 libp2p。 更少的 Wasm 支持。

2. 了解围绕 WASM 的实现

  • 我们可以重用现有的 WASM 实现吗?

    • 可以在实现的语言中重用现有的解释器。
    • 由于存在绑定,因此可以将 Rust 实现与 C++ PRE 一起使用,但最好有一个 C++ 解释器。 如果 C++ 实现不是很好,那么要么提出拉取请求,要么分叉和改进。
  • 我们是否还需要实现本机执行,还是只需要实现 WASM 解释器?

    • 对于规范合规性不是必需的。
    • 可以做一个额外的步骤。
    • 会有一些 Wasm 逻辑经常运行。 能够将逻辑作为本机代码运行是很重要的。

3. 理解“交战规则”

  • 是否存在正式的规范或验收测试,或者它们可以作为项目的第一阶段开发吗?

    • 我们需要这些,但没有。
    • 愿意将测试视为单独的工作包。
  • 有正式的截止日期吗?

    • 没有最后期限。
    • 理想情况下,在 2019 年第一季度末实施。允许实施开始使用 Polkadot。
  • 我们应该以什么形式申请拨款以及向谁提出申请?

    • 申请表(如原帖)。
    • 最好早点得到一个粗略的建议。 即使它没有很好地充实。
  • 谁将在最后批准/决定拨款申请?

    • Web3 基金会。 Peter 将担任牵头人,但其他人将参与其中(例如 Parity 的相关人员)。
    • 我们可能会要求提供更多信息以澄清某些事情。

正在进行的规范: https ://github.com/w3f/polkadot-re-spec/blob/master/polkadot_re_spec.pdf

我们有兴趣通过对 Parity 编解码器和任何其他具有支持在 Go 中编写运行时的想法的 rust 模块的实现进行最小化端口来支持这项工作。 所以不是一个完整的替代实现。

当然,这项任务将由被选中进行完整 Go 实现的团队承担。 所以我想看看是否有合作的可能性,或者是否根本没有工作开始,也许可以申请更窄工作范围的拨款?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

dfishb picture dfishb  ·  6评论

EdwardAThomson picture EdwardAThomson  ·  7评论

jplatts12 picture jplatts12  ·  6评论

bobjiang picture bobjiang  ·  5评论

ghuun picture ghuun  ·  7评论