General-grants-program: Lingkungan Runtime Polkadot: Hibah Implementasi Alternatif

Dibuat pada 18 Jul 2018  ·  16Komentar  ·  Sumber: w3f/General-Grants-Program

Yayasan Web3 sedang mencari untuk menarik tim untuk pengembangan implementasi alternatif dari Polkadot Runtime Environment (PRE), yang merupakan komponen inti dari Polkadot.

Langkah pertama dalam menulis implementasi Polkadot secara utuh adalah dengan menulis implementasi PRA. Gagasan di balik PRE adalah dapat digunakan untuk membuat blockchain mandiri, sementara juga memungkinkan konektivitas ke jaringan Polkadot.

Yayasan Web3 mengontrak Parity Technologies untuk menulis implementasi pertama Polkadot. Implementasi mereka dari PRE disebut 'Substrat'. Produk ini saat ini adalah PRE tetapi akan memiliki fungsi tambahan di masa mendatang. Untuk hibah ini kami hanya peduli dengan PRE. Kode Substrat saat ini ada di repo Polkadot GitHub dan diimplementasikan di Rust .

Untuk informasi lebih lanjut, silakan lihat dokumen berikut untuk perincian lebih lanjut tentang cara melamar:

Lingkungan Runtime Polkadot: Hibah Implementasi Alternatif

(FYI, bahasa berikut lebih disukai: Go (di atas semua yang lain), C++, dan Java.)

Core Tech Sought

Komentar yang paling membantu

Halo, tim kami berada di Berlin selama minggu blockchain dan memiliki waktu yang luar biasa untuk mengenal orang-orang dari tim Parity. Kami menunjukkan minat untuk menulis implementasi PRE in Go. Saya akan mengisi aplikasi selama beberapa hari ke depan. Terima kasih!

Semua 16 komentar

Apakah ada bahasa yang disukai untuk implementasinya?

Implementasi alternatif di Rust or Go akan sangat berguna sejak awal, karena banyak tumpukan blockchain saat ini ditulis dalam satu atau yang lain.

Di jalan, akan menarik untuk mendapatkan implementasi dalam JavaScript (jika pernah mendukung kompilasi ke wasm) atau Java/C#.

Saya akan merilis lebih banyak informasi besok (sedikit di belakang kerangka waktu yang diharapkan!).

Implementasi referensi ada di Rust (yaitu Parity Tech), ditambah implementasi JS Jaco (klien Substrat penuh, tetapi tanpa pembuatan blok).

Implementasi yang disukai adalah: Java, Go, C++.

Jadi, dengan sedikit keberuntungan, saya dapat merilis detail lengkapnya besok! :-)

@EdwardAThomson Apakah ada jadwal untuk aplikasi hibah?

Saya ingin membantu tim dalam upaya ini, khususnya menggunakan Go. Jika ada tim yang sedang mencari bantuan, silakan hubungi saya. gfrеⅾrісο di аzս tіоոѕ atau di Twitter: frеḋ.

@gcsfred2 Aplikasi akan terbuka untuk sementara waktu. Saat ini ada harapan untuk memiliki beberapa implementasi lagi, sehingga proses aplikasi akan tetap terbuka setidaknya sampai kami memiliki beberapa tim yang tertarik untuk menangani masalah ini.

Halo, tim kami berada di Berlin selama minggu blockchain dan memiliki waktu yang luar biasa untuk mengenal orang-orang dari tim Parity. Kami menunjukkan minat untuk menulis implementasi PRE in Go. Saya akan mengisi aplikasi selama beberapa hari ke depan. Terima kasih!

Hai tim ChainSafe, senang mendengarnya! Saya melihat Anda memiliki alamat email di profil Anda. Saya akan mengirim email untuk menyapa. Go adalah salah satu bahasa pilihan kami, jadi aplikasi Anda menarik. Kami mulai mendapatkan sedikit minat sekarang dalam menulis implementasi alternatif.

Tertarik untuk terlibat dalam pengembangan inti Polkadot. Formulir dikirim! :)

Menambahkan daftar video dan blog yang relevan.

Video :

Blog dll :

Saluran Obrolan Teknis :

Kami akan merekomendasikan melompat ke saluran Teknis Substrat dan mulai mengajukan pertanyaan. Beberapa pengembang siap sedia dan menjawab pertanyaan, ditambah ada juga segelintir anggota komunitas yang menjadi ahli juga!

Terima kasih atas semua minat selama ini. Kami telah menerima sejumlah formulir aplikasi, tetapi proses aplikasi masih terbuka jika ada tim yang bertanya-tanya dan berpikir untuk mengajukan proposal. Kami berharap untuk memilih 2 atau 3 tim untuk mengembangkan implementasi alternatif, tetapi kami belum memilih siapa pun!

Pembaruan lebih lanjut tentang topik ini. Banyak dari Anda telah bertanya tentang rentang waktu dan jumlah usaha yang terlibat.

Saya mengobrol singkat dengan Jaco, seorang pengembang di Parity. Dialah yang menciptakan implementasi dalam JavaScript. Semoga ini memberi Anda ide yang lebih baik. Dia bekerja cukup banyak solo juga!

Berapa lama Anda mengharapkan dev / tim devs untuk membuat implementasi Substrat?

"Sulit untuk dikatakan - masalahnya adalah implementasi saya menemukan banyak bug dalam kode libp2p Rust, jadi saya menunggu (yang terasa seperti selamanya), untuk perbaikan. Terlalu dini.

Jadi hal pertama, bahasa apa - jika bukan JS, Go atau Rust, mereka perlu menulis implementasi libp2p mereka sendiri. (Mungkin ada cara untuk menggunakan versi Go/Rust sebagai perpustakaan)"

"Lalu bagian yang rumit adalah:

  • implementasi codec Parity (2+ minggu untuk melakukannya dengan benar) - diperlukan untuk apa pun yang terkait dengan jaringan atau RPC
  • implementasi Trie DB - mereka dapat belajar dari apa yang dilakukan di klien JS, Rust, Ethereum, namun Substrat memiliki versi mereka sendiri. (Sekali lagi, dimungkinkan untuk menggunakan versi Rust sebagai lib)
  • Lingkungan WASM, hal ini tidak didokumentasikan di mana pun kecuali dalam kode - membawa saya sekitar 1+ bulan di sini, tetapi sekali lagi, implementasi berubah sepanjang waktu (terlalu dini)
    Lalu ada bit dan bobs - blockchain DB (trie status di atas dan di atas), panggilan RPC, klien ringan potensial."

Minimal, seperti yang dia lihat:

  • Trie
  • libp2p
  • lingkungan WASM

"Jika dalam implementasinya di Go, Trie mereka sebenarnya dapat mengambil versi Ethereum dan "hanya" menjatuhkan blake2 dan parity-codec."

Untuk hibah ini, kami mencari bagian konsensus untuk diselesaikan juga.

Halo, baru saja mengisi formulir untuk implementasi C++.

Halo, baru saja mengisi formulir untuk implementasi C++.

Diterima! Terima kasih! @Yuvasee

Proses aplikasi masih terbuka. Kami akan mengambil beberapa aplikasi lagi sebelum membuat keputusan apa pun.

Tahukah Anda tentang konferensi W3S kami? Sekarang ada potongan harga dan tiket gratis yang tersedia:

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

Hai semuanya, kami memiliki beberapa pertanyaan tentang proses pengembangan dan kami pikir akan lebih baik untuk membagikan jawabannya kepada semua orang.

1. Memahami motivasi untuk implementasi alternatif

  • Sejauh mana implementasi ini menjadi referensi?

    • Ada spesifikasi dalam keadaan draft. Semoga segera dibagikan.
    • Implementasi saat ini seperti spesifikasi referensi, tetapi sebenarnya tidak.
    • RFP dimulai lebih awal, jadi kami bisa mulai berbicara dengan tim.
    • Kami menyarankan agar mereka mendapatkan proposal lebih awal.
  • Sebuah implementasi independen dicari? Dalam hal ini, apakah boleh jika implementasi baru didasarkan pada implementasi Rust of Substrat?

    • Semandiri mungkin. Dilakukan dengan cara idiomatik yang sesuai dengan bahasa itu.
    • Bukan terjemahan langsung.
    • Berdayakan komunitas pengembang tambahan. Jangan mengunci ke sekelompok pengembang tertentu.
    • Juga dapat membantu mengidentifikasi perbedaan yang sedang berlangsung antara implementasi.
    • Karena ini adalah jaringan yang terdesentralisasi, kami membutuhkan implementasi alternatif. Tidak ingin ada satu tim yang mengontrol perkembangan jaringan.
  • Kinerja yang lebih baik dicari? Jika ya, apa syarat/gejala yang ingin kita tingkatkan/sembuhkan?

    • Tidak juga. Karat cukup cepat. Kami benar-benar ingin menjangkau komunitas pengembang baru dan meningkatkan desentralisasi (ketahanan jaringan dan tata kelola).
  • Portabilitas yang lebih baik untuk berbagai platform?

    • Harapkan ini berfungsi di Linux dan Mac. (Unix seperti platform)
    • Akan bagus di Windows.
  • Apakah ada alasan di balik preferensi untuk Go?

    • Ingin menyertakan komunitas Go yang ada.
    • Sudah ada juru bahasa Wasm di Go. Jadi mungkin lebih mudah: https://github.com/perlin-network/life
    • Kami mungkin akan mendanai setidaknya 2 implementasi. Misalnya C++ dan Go.
    • Ada lebih banyak untuk menulis di C++. Mungkin kode yang kurang dapat digunakan kembali. Mungkin tidak ada libp2p di C++. Lebih sedikit dukungan Wasm.

2. Memahami implementasi seputar WASM

  • Bisakah kita menggunakan kembali implementasi WASM yang ada?

    • Dapat menggunakan kembali interpreter yang ada dalam bahasa implementasi.
    • Dimungkinkan untuk menggunakan implementasi Rust dengan C++ PRE, karena ada binding, tetapi akan lebih baik untuk memiliki juru bahasa C++. Jika implementasi C++ tidak bagus, maka buat permintaan tarik atau garpu dan tingkatkan.
  • Apakah kita juga harus mengimplementasikan eksekusi asli, atau hanya juru bahasa WASM?

    • Tidak perlu untuk kepatuhan spesifikasi.
    • Dapat melakukan langkah tambahan.
    • Akan ada potongan logika Wasm yang sering dijalankan. Memiliki kemampuan untuk menjalankan logika sebagai kode asli adalah penting.

3. Memahami “aturan keterlibatan”

  • Apakah ada spesifikasi formal atau tes penerimaan, atau dapatkah dikembangkan sebagai fase pertama proyek?

    • Kami membutuhkan ini, tetapi tidak memilikinya.
    • Akan bersedia untuk mempertimbangkan tes sebagai paket kerja yang terpisah.
  • Apakah ada batas waktu formal?

    • Tidak ada batas waktu.
    • Idealnya, implementasi pada akhir Q1 2019. Memungkinkan implementasi untuk mulai bekerja dengan Polkadot.
  • Dalam bentuk apa kami harus mengajukan permohonan hibah dan kepada siapa permohonan itu harus ditujukan?

    • Formulir aplikasi (seperti dalam posting asli).
    • Terbaik untuk mendapatkan proposal kasar sebelumnya. Bahkan jika itu tidak dikupas dengan sangat baik.
  • Siapa yang akan memberikan OK / memutuskan di akhir untuk aplikasi hibah?

    • Yayasan Web3. Peter akan memimpin, tetapi orang lain akan terlibat (misalnya orang-orang yang relevan dari Parity).
    • Kami mungkin meminta informasi tambahan untuk mengklarifikasi beberapa hal.

Kami tertarik untuk mendukung upaya ini dengan melakukan port minimal implementasi codec Parity, dan modul rust lainnya dengan ide untuk mendukung penulisan runtime di Go. Jadi bukan implementasi alternatif penuh.

Tugas ini tentunya akan diambil alih oleh tim yang dipilih untuk melakukan implementasi Go secara penuh. Jadi saya mencari untuk melihat apakah ada kemungkinan kolaborasi atau jika tidak ada pekerjaan yang dimulai sama sekali, untuk mungkin mengajukan hibah untuk lingkup pekerjaan yang lebih sempit?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

dfishb picture dfishb  ·  15Komentar

EdwardAThomson picture EdwardAThomson  ·  10Komentar

Web3Foundation picture Web3Foundation  ·  32Komentar

Web3Foundation picture Web3Foundation  ·  27Komentar

EdwardAThomson picture EdwardAThomson  ·  6Komentar