Peringatan 1 Tahun, Ubah cara kami menyimpan pendaftaran, dll.
Pengembangan
Sekali lagi, Mei adalah bulan yang fantastis untuk tim AGORA. Tim ini bekerja keras untuk berkontribusi pada basis kode AGORA serta membuat kontribusi besar untuk basis kode Alpine Linux. Kami masih bekerja keras untuk mendapatkan Penyeimbangan Kuorum yang terkonfigurasi dengan benar dan dalam kondisi yang dapat dikirim. Setelah tim menyelesaikan implementasi algoritma Quorum Balancing skala penuh, kita dapat mengalihkan fokus kita ke bagian lain yang lebih besar dari fungsionalitas validator yang lebih besar. Selain membuat kemajuan pada Penyeimbangan Kuorum, kami juga terus mengembangkan Antarmuka Administratif, dan beberapa masalah lain terkait dengan bagaimana kami menangani pra-gambar. Berikut ini adalah ringkasan kegiatan pengembangan bulan lalu dan item yang saat ini masih dalam pengembangan:
Pengembangan Inti di bulan Mei:
Aktivitas Bulanan:
Bulan lalu kami memiliki 82 permintaan tarik dan 52 masalah aktif. Dari yang:
- 11 permintaan tarik diajukan
- 71 permintaan tarik digabung
- 27 masalah baru
- 25 masalah ditutup
Fungsionalitas Dikembangkan:
Ubah cara kami menyimpan pendaftaran #735
Fitur ini dikembangkan oleh Jay selama bagian pertama bulan Mei. Saat ini, kami menambahkan Pendaftaran ke Manajer Pendaftaran saat diterima tetapi sebelum divalidasi:
/// PUT: /enroll_validator
public void enrollValidator (Enrollment enroll) @safe
{
log.trace(“Received Enrollment: {}”, prettify(enroll));
if (this.enroll_man.add(this.ledger.getBlockHeight(),
this.utxo_set.getUTXOFinder(),
enroll))
{
this.network.sendEnrollment(enroll);
}
}
Setelah konsensus dibuat. Melakukannya dengan cara ini memiliki beberapa masalah:
- Tidak mungkin untuk mengganti pendaftaran kecuali jika pengguna mengubah kunci mereka (dengan ini datang masa tunggu 2 minggu).
- Meja ini tidak pernah dibersihkan.
- Kami mencampur data yang kami gunakan sebelum dan sesudah konsensus, yang rawan kesalahan.
- addValidatedBlock tidak menambahkan Pendaftaran, hanya memperbarui tinggi mereka, yang berarti mengejar ketinggalan rusak.
Akan lebih baik memisahkan kedua data tersebut, dan hanya memiliki pendaftaran aktif di EnrollmentManager. Pemisahan mungkin harus serupa dengan kumpulan transaksi / UTXO set.
Definisi Selesai:
- Buatlah cara untuk menyimpan Pendaftaran seperti cara yang mirip dengan kumpulan transaksi / UTXO.
- Bersihkan meja saat pendaftaran telah kedaluwarsa.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/735
Membagi fungsionalitas Node Penuh dan Validator menjadi dua kelas terpisah #586
Fitur ini dikembangkan oleh Andrej pada bagian pertama bulan Mei. Saat ini, kelas Node berisi fungsionalitas untuk Full Node dan Validator. Instan nominator tidak boleh terlihat untuk Node Penuh, karena mereka bukan bagian dari konsensus.
Idealnya, kita akan memiliki sesuatu seperti ini:
module agora.node.FullNode;
import agora.api.FullNode;
class FullNode : API { … }
module agora.node.Validator;
import agora.api.Validator;
import agora.node.FullNode;
class Validator : FullNode, API { … }
Perhatikan bagaimana Validator adalah ‘FullNode’ dan menyediakan fungsionalitas tambahan melalui antarmuka API agora.api.validator. Juga perhatikan bahwa: API di modul agora.node.FullNode dan agora.node.Validator berbeda. Yang satu mengacu pada yang ada di agora.api. ‘FullNode’ dan yang lainnya merujuk ke agora.api.Validator.
Definisi Selesai:
- Bagi kelas menjadi dua
- Setiap kelas idealnya harus hidup dalam modulnya sendiri, mis. FullNode.d, Validator.d
- Berdasarkan konfigurasi node, FullNode atau Validator harus dipakai saat kita ingin memulai sebuah node.
- Bidang yang hanya termasuk dalam kelas Validator tidak boleh ada di kelas FullNode. Misalnya, instance Nominator seharusnya hanya terlihat di kelas Validator.
- Test-suite memiliki tes untuk FullNode dan Validator. Seharusnya dimungkinkan untuk instantiate set node campuran (ada yang FullNode, ada yang Validator) dan membuat tes masih berfungsi.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/586
Tambahkan utilitas yang memverifikasi kecocokan vtables pada sisi D & C ++ #323
Fitur ini dikembangkan oleh Michael pada bagian pertama bulan Mei. Sangat mudah untuk secara tidak sengaja lupa membuat prototipe metode di sisi D, menyebabkan vtable tidak sesuai. Ini bermanifestasi dalam apa yang tampak sebagai bug kerusakan memori aneh, tetapi pada kenyataannya, jejak tumpukan (mis. Via LLDB) akan memberi tahu kami apakah tumpukan panggilan masuk akal, atau jika metode yang salah dipanggil. Kita harus memiliki beberapa kode utilitas yang memverifikasi ini, sama seperti pemeriksaan tata letak / ukuran saat ini.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/323
Terapkan format ‘enum’ dalam formatter Oceans #725
Fitur ini dikembangkan oleh Michael pada bagian pertama bulan Mei. Karena Ocean menjatuhkan kompatibilitas D1, sekarang dimungkinkan untuk melakukan ini dan akan menyederhanakan hidup kita sedikit.
Definisi Selesai:
enum Foo
{
A,
B,
C,
D,
}
import ocean.text.convert.Formatter;
unittest
{
assert(format(“{} {} {} {}”, Foo.A, Foo.B, Foo.C, Foo.D) == “Foo.A Foo.B Foo.C Foo.D”);
Foo invalid1 = cast(Foo) 42;
assert(format(“{}”, invalid1) == “cast(Foo) 42”);
}
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/725
Tambahkan kode pemeriksaan validasi untuk pra-gambar yang diungkapkan #694
Fitur ini dikembangkan oleh Jay pada pertengahan Mei. Dalam implementasi saat ini mengelola pendaftaran dan pra-gambar, tidak ada kode untuk memeriksa validitas pra-gambar. Hasil akhirnya adalah memiliki set validator memeriksa validitas pra-gambar yang diterima dari beberapa validator.
Definisi Selesai:
- Set validator memeriksa gambar pra-masuk dengan data pendaftaran
Bagaimana cara mengimplementasikan:
- Set validator meng hash seed acak pendaftaran dengan perbedaan ketinggian antara seed acak dan pre-image yang masuk, dan membandingkan nilai hash dan salah satu pre-image.
- Struktur Pendaftaran harus memiliki ketinggian benih acak untuk memeriksa validitas.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/694
Terapkan dukungan jangkauan di ocean.text.convert.Formatter
#718
Fitur ini dikembangkan oleh Michael pada pertengahan Mei. Agora menggunakan perpustakaan yang disebut Ocean untuk mencetak log selama operasi. Lautan tidak mendukung tipe ‘Kisaran’ sehingga kami tidak dapat memahami output tipe ‘Kisaran’. Tujuannya adalah untuk memastikan kami dapat memahami tipe keluaran ‘Range’.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/718
Menerapkan konsep jendela geser untuk mengelola pra-gambar #767
Fitur ini dikembangkan oleh Jay pada pertengahan Mei. Saat ini, node menggunakan sekitar 100.000 pre-gambar yang dibuat, dan pra-gambar dicocokkan masing-masing dengan ketinggian blok. Satu bidang perbaikan telah diidentifikasi sehubungan dengan mencocokkan setiap pra-gambar dengan tinggi balok. Alternatif ini adalah menerapkan konsep sliding window. Konsep ini memungkinkan pra-gambar untuk diambil berdasarkan putaran dan siklus.
Definisi Selesai:
- Untuk mengelola pra-gambar berdasarkan siklus dan putaran
- Untuk menentukan putaran dan siklus saat ini ketika mengembalikan semua informasi ketika sebuah node perlu mengembalikan semua informasi.
- Untuk menggunakan PreImageCache dalam mengelola pra-gambar.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/767
Manajer jaringan perlu dikerjakan ulang #587
Fitur ini dikembangkan oleh Andrej pada pertengahan Mei. Ketika kami awalnya menerapkan ini, tujuannya adalah untuk mendukung Node Penuh (tonggak pertama). Node Penuh terhubung ke jumlah minimum klien melalui opsi konfigurasi min_listeners.
Validator seharusnya tidak memiliki opsi konfigurasi ini. Jumlah minimum klien yang terhubung adalah jumlah node dalam konfigurasi kuorumnya. Mereka tidak peduli tentang koneksi ke Node Penuh acak, itu adalah Node Penuh yang peduli tentang menghubungkan ke Validator & Node Penuh lainnya.
Ada berbagai set di dalam, dan semuanya agak terlalu rumit untuk dipikirkan:
- todo_addresses
- known_addresses
- connecting_addresses
Selain itu, beberapa inisialisasi di awal () harus dipindahkan ke konstruktor sehingga kelas selalu dalam keadaan siap-pergi. Jika tidak, ada kemungkinan beberapa permintaan masuk dialihkan ke NetworkManager sementara start () belum dipanggil, yang membuatnya dalam keadaan tidak konsisten.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/587
Buka pra-gambar pada penghitung waktu #582
Fitur ini dikembangkan oleh Henry pada akhir Mei. Alih-alih memiliki pengungkapan pra-gambar terjadi pada putTransaction, itu harus dilakukan melalui timer.
Saat ini dilakukan di sini:
agora / source / agora / node / Node.d
Baris 252 hingga 260 di 0cdc928
if (this.enroll_man.needRevealPreimage (this.ledger.getBlockHeight ()))
{
PreimageInfo preimage;
if (this.enroll_man.getNextPreimage (preimage))
{
this.receivePreimage (preimage);
this.enroll_man.increaseNextRevealHeight ();
}
}
Ini sepele dapat dilakukan melalui fungsi setTimer Vibe.d.
Saat ini tidak diimplementasikan dalam LocalRest, tetapi karena kami memiliki non-blocking ‘sleep’ dan ‘runTask’ sebagai primitif, itu harus sepele untuk mengimplementasikannya.
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/582
Hasilkan artefak buatan untuk memeriksa kegagalan PR #745
Fitur ini dikembangkan oleh Mathias pada akhir Mei. Masalah ini sangat mudah.
Misalnya, kita harus dapat melakukan hal berikut setelah ini selesai:
- Periksa file objek ketika ada masalah linker
- Periksa semua dump inti ketika tes kami macet
Silakan merujuk ke tautan Github di bawah ini untuk informasi lebih lanjut.
https://github.com/bpfkorea/agora/issues/745
Pengembangan Validator yang sedang berlangsung:
- Pesan SCP perlu disiarkan ke semua rekan Validator Node yang terhubung #606
- Ubah konstanta kritikal-kritis yang diperlukan menjadi argumen #894
- Terapkan balancing kuorum shell #785
- Seharusnya dimungkinkan untuk mendaftarkan ulang Validator ketika sedang dalam set validator #824
- Kembalikan informasi pendaftaran simpul #789
- Blokir dengan tinggi 0 juga perlu diverifikasi #747
- Kami tidak boleh menerima blok tanpa pendaftaran jika set validator menjadi kosong #822
- Ganti setGenesisBlock / genesis config dengan blok-blok hardcode #821
- Tambahkan Pendaftaran ke blok genesis hardcoded #907
- Integrasikan kemampuan untuk memulai kembali sebuah simpul ke dalam TestAPIManager #906
- Diperlukan Test Server Untuk Antarmuka Admin #788
- Tingkatkan penggunaan SQLite untuk UTXO & validator DB #836
- Gunakan fungsi TaskManager.setTimer () baru #872
Pemasaran
Ulang Tahun BOSAGORA ke-1
BOSAGORA merayakan peringatan tahun pertama 16 Mei lalu. Selama 1 tahun terakhir, kami mencapai banyak hal termasuk airdrop ke pemegang yang ada pada saat yang sama ketika proyek dimulai, terdaftar dalam pertukaran global, dan membuka berbagai kegiatan pemasaran untuk mempertahankan pola pikir pemula yang merupakan berjanji kepada komunitas. Kami juga mengungkapkan rincian pengeluaran bulanan untuk menjaga transparansi. BOSAGORA dapat mencapai sejauh ini berkat dukungan dan kepercayaan masyarakat. Seperti yang telah kami lakukan sejauh ini, kami akan terus berusaha sebaik mungkin untuk menuai buah berdasarkan komunikasi yang transparan.
- Pesan dari Presiden Inhwan Kim, pada peringatan tahun pertama: https://bit.ly/3h796aY
BOA, Tersedia di CoolWallet S
Sejak MOU dengan CoolBitX pada Mei lalu, menjadi mungkin untuk menggunakan token BOA di dompet perangkat keras CoolWallet S. Oleh karena itu, pemegang BOA di seluruh dunia dapat menggunakan CoolWallet S untuk menyimpan token BOA dengan lebih aman dan nyaman. Mudah untuk menyimpan token BOA di CoolWallet S. Cukup transfer token BOA dari bursa atau dompet lain ke CoolWallet S dan Anda dapat memeriksa token BOA di CoolWallet S.
Dan keamanan dompet juga meningkat. Berkat solusi anti pencucian uang kripto-aset CoolBitX (Signa Bridge), dimungkinkan untuk berbagi informasi pengirim dan penerima dengan aman selama transaksi cryptocurrency, menjadikannya lebih aman daripada dompet perangkat keras lainnya. Akibatnya, pemegang token BOA dapat menyimpan BOA tanpa khawatir.
- Cara menggunakan CoolWallet S: https://bit.ly/3fh6ZQn
Acara Kuis untuk Merayakan Kemitraan dengan CoolBitX
Banyak orang dari komunitas di dalam dan luar negeri berpartisipasi dalam acara kuis CoolWallet S, dan kami mengirim pemenang CoolWallet S dengan logo BOSAGORA tercetak di atasnya. Sejak itu, banyak orang telah meninggalkan ulasan tentang CoolWallet S bersama dengan foto bukti.
Selain itu, kami sedang mempersiapkan kemitraan untuk pengembangan bersama dengan perusahaan sertifikasi global dan perusahaan teknologi-edu. BOSAGORA akan melanjutkan pengembangan jaringan utama sambil terus menemukan kemitraan yang bermanfaat bagi ekosistem BOSAGORA setelah rilis jaringan utama.
Kampanye ‘Biarkan COVID-19 Pergi’ untuk Mengatasi Corona Berakhir Dengan Sukses
Banyak anggota komunitas BOSAGORA berpartisipasi dalam kampanye ‘Biarkan COVID-19 Pergi’ dengan menjaga kebersihan dan menahan diri untuk tidak pergi ke pertemuan. Itu menarik banyak perhatian dengan 100 anggota komunitas baru ditambahkan dalam waktu singkat oleh anggota yang sudah ada yang mengundang teman-teman mereka. BOSAGORA akan terus mengambil inisiatif sebagai proyek yang bertindak bersama masyarakat untuk mengatasi era korona.
- Biarkan kampanye COVID-19 Pergi: https://bit.ly/2XLUarm
BOSAGORA Duta Terpilih Berdasarkan Negara
Kami merekrut duta besar global yang ditugaskan untuk mendukung kegiatan komunitas global. Ini menyebabkan BOSAGORA mempromosikan dirinya secara efisien dengan memproduksi konten terkait pengembangan, kegiatan kemitraan, dan lainnya yang diproduksi secara internal dalam setiap bahasa lokal. Pada fase pertama, kami akan mengirimkan konten kami dengan jelas kepada anggota komunitas lokal bekerja sama dengan komunitas terkenal di Turki, Jepang, Rusia, Spanyol, Asia Tenggara, dan memperluas ini lebih jauh ke negara lain di kemudian hari.
Duta besar oleh negara
- Turkish Community: https://bountyhive.io
- Komunitas Jepang: https://t.me/kamigroupni
- Komunitas Rusia: https://t.me/satoshi_club_ru
- Komunitas Spanyol: https://t.me/satoshi_club_spanish
- Komunitas Asia Tenggara: https://t.me/nanochatroom
AMA global
BOSAGORA mengadakan AMA pada bulan Mei. Selama AMA terakhir, para peserta mengajukan pertanyaan mendalam berdasarkan materi pengembangan yang kami rilis seperti pertanyaan yang terkait dengan ‘validator’ dan ‘flash layer’ dalam pengembangan berkelanjutan, dan pertanyaan tentang bagaimana kita akan mengatasi era korona sebagai proyek penghitung corona dengan mengadakan berbagai kampanye partisipatif. Dengan dua AMA ini pada bulan Mei, masing-masing 100 anggota baru ditambahkan ke Twitter dan Telegram sebagai bagian dari sinyal yang menunjukkan bahwa proyek ini terus menarik perhatian.
- Eljaboom AMA: https://bit.ly/2MEUNfQ
- Satoshi AMA: https://bit.ly/2UoIM2t
BOSAGORA Sekarang Menjadi Penandatangan ‘Bill Rights Rights’ dari World Economic Forum
Forum Ekonomi Dunia mengumumkan “Blockchain Bill of Rights”. Ini mendesak setiap pemerintah, lembaga, perusahaan, dan individu untuk merencanakan, mengembangkan dan memanfaatkan layanan Blockchain sesuai dengan apa yang tertulis dalam undang-undang ini untuk memberikan layanan yang lebih transparan, nyaman, penuh perhatian kepada publik sejalan dengan nilai-nilai dasar untuk desentralisasi masa depan.
BOSAGORA telah menjadi penandatangan pertama dari Korea di antara proyek-proyek blockchain.
- Informasi lebih lanjut: https://bit.ly/3hmnBba
Sekilas tentang Status Pengembangan, Pembaruan Situs Web
Kami mengungkapkan catatan pengembangan terperinci pada halaman teknologi di beranda kami untuk berbagi status pengembangan sesuai dengan menjaga ‘transparansi’. Pada halaman teknologi homepage BOSAGORA yang diperbarui, Anda dapat menemukan pembaruan penting atas pengembangan, kemajuan pembangunan dengan kepentingan, dan seluruh riwayat pembangunan dengan sekilas untuk membagikan semua informasi pembangunan secara transparan. Sebagai hasilnya, seseorang dapat memeriksa semua informasi yang terkait dengan Pengembangan BOSAGORA termasuk jadwal pengembangan yang paling penting, status kemajuan, dan konten detailnya di GitHub.
Hankook Blockchain News (HKBnews) Mulai Menerbitkan Kolom BOSAGORA Secara Serius
Tren Teknologi, kolom BOSAGORA, status pengarahan, dan teknologi industri blockchain dan cryptocurrency dari pandangan proyek koin global, mulai disumbangkan ke Korea Blockchain News dengan nama kolom BOSAGORA mulai 8 Juni. Kolom BOSAGORA terdiri dari gambar isi perhatian seperti pentingnya menerapkan demokrasi dalam industri mata uang digital, Perlawanan Sensor generasi berikutnya, dan Kontrak Cerdas.
Berikut ini artikel lengkap dari kolom Korea Blockchain News BOSAGORA: https://bit.ly/2AWhERh
Daftar Kolom BOSAGORA (Sementara)
#1 Keadaan Blockchain & Cryptocurrency pada tahun 2020
#2 Sekarang adalah Waktu untuk Blockchain yang Benar-Benar Terdesentralisasi
#3 Bosagora: Blockchain untuk kebaikan publik – memimpikan aspek yang baru
#4 Bisakah Kita Akhirnya Mencapai Demokrasi di Industri Crypto?
#5 Mengapa SCP adalah Masa Depan Protokol Blockchain?
#6 Pemegang Loyal di Industri Cryptocurrency: Apa yang Mereka Menunggu?
#7 Menghidupkan Kembali Cryptocurrency dengan Demokrasi
#8 Sensor Resistansi 2.0
#9 Intelligence for Humanity
#10 Satu-satunya cara cryptocurrency dapat berkontribusi pada dunia
#11 Era Smart Kontrak Blockchain Ecosystem
#12 Mengapa ‘kepercayaan’ pada blockchain merupakan masalah besar?