Hari ini kami memiliki beberapa berita menarik untuk dibagikan: AppBase sudah siap, dan kami ingin semua orang membantu pengujian. Meskipun, perlu diketahui bahwa pengembang pihak ketiga mungkin perlu melakukan beberapa perubahan kecil untuk menyesuaikan diri dengan platform baru.
Kandidat rilis AppBase sekarang sudah siap.
Kembali di bulan Agustus kami berbagi dengan Anda kabar tentang beberapa pembaruan menarik yang dilakukan pada blockbain Steem. Salah satu pembaruannya adalah AppBase, yang akan menciptakan "modul" berbeda yang secara dramatis akan meningkatkan kemampuan Steem untuk berskala.
AppBase adalah langkah pertama dalam menciptakan multi chain FABRIC. AppBase memungkinkan banyak komponen blokir Steem menjadi modular dengan menciptakan tambahan blokade non-konsensus sebagai plugin khusus. Plugin ini dapat diperbarui lebih cepat karena mereka tidak memerlukan pengulangan seluruh blockchain.
Kami akhirnya siap menguji AppBase dalam skala besar!
Jika Anda hanya pengguna steemit.com biasa, Anda juga bisa membantu. Pergilah ke steemitstage.com dan gunakan situs seperti biasanya.
Lingkungan pementasan kami mencakup langkah keamanan yang sama yang diambil untuk steemit.com, dan dianggap pra-produksi. Ini dirancang untuk sedekat mungkin dengan steemit.com 'nyata', untuk sepenuhnya memperbarui kode baru sebelum membuatnya menjadi steemit.com. Jika Anda masih khawatir menggunakan kunci Anda, selamat datang hanya dengan menggunakan kunci posting Anda. Bahkan jika Anda tidak login sama sekali, hanya browsing situs dan memberikan umpan balik kepada kami masih berguna.
Untuk pengembang.
Jika Anda menjalankan atau mempertahankan layanan Steem, ada beberapa langkah yang perlu Anda ambil untuk memastikan layanan Anda akan terus beroperasi seperti yang diharapkan. Rincian ada di bagian di bawah ini.
Perubahan simpul.
Jika Anda menjalankan simpul steemd, Anda dapat melihat tag v0.19.4rc1 dari GitHub atau Docker Hub.
Perubahan API.
Kami merestrukturisasi API kami untuk memungkinkan fleksibilitas yang lebih besar untuk peningkatan dan pemeliharaan di masa mendatang. API sekarang mengambil satu objek sebagai argumen dan mengembalikan satu objek sebagai tipe pengembalian. Semua API yang ada telah diperbarui agar sesuai dengan standar ini.
Karena kita tidak perlu lagi menempel pada semantik parameter gaya C ++, kita bisa menggunakan tipe argumen default yang lebih bervariasi serta parameter variadik. Kami juga dapat memperluas fungsionalitas panggilan tanpa memengaruhi aplikasi yang ada dengan memperluas objek yang dikembalikan.
Database_api telah mengalami perubahan signifikan untuk memungkinkan kueri semua objek konsensus dengan pemesanan yang menggunakan sebelumnya. Ini akan memberi lebih banyak fleksibilitas untuk layanan untuk menemukan objek yang mereka butuhkan.
Untuk membantu transisi ini, kami membuat condenser_api, yang berisi semua metode API yang ada saat ini dan menggunakan pemformatan argumen yang ada. Cara termudah untuk membuat aplikasi Anda bekerja dengan Appbase adalah mengubah api menjadi condenser_api.
API harus disebut dengan nama
Jika Anda terbiasa memanggil API menggunakan ID API, metode pemanggilan tidak lagi didukung. Semua API sekarang harus disebut dengan nama.
Dihapus login_api
The login_api dirancang sebagai cara untuk memetakan nama API ke nomor numerik. Karena API tidak lagi disebut via id, sekarang tidak ada kebutuhan untuk login_api, dan karena itu sudah dihapus.
Daftar metode API
Jika Anda memanggil jsonrpc.get_methods, daftar semua metode API yang tersedia akan dikembalikan.
Argumen dan prototipe objek kembali
Jika Anda memanggil jsonrpc.get_signature yang melewati nama metode API, kode tersebut akan mengembalikan argumen dan mengembalikan prototipe objek.
Menggunakan kondenser_api.
Semua panggilan di condenser_api akan kembali sebagai argumen, karena argumen array yang dilewati buram dan diterapkan di API sendiri. Mereka mengikuti format argumen saat ini. Aplikasi yang ada seharusnya hanya perlu dilewati dengan menggunakan login_api dan mengirim semua panggilan mereka ke condenser_api tanpa ada perubahan lain yang diperlukan untuk menggunakan Appbase.
Peningkatan kepatuhan JSON-RPC.
Beberapa perubahan lainnya dibuat agar lebih sesuai dengan spesifikasi JSON-RPC yang banyak digunakan. Ini masih baru. Tolong bantu kami menguji implementasi json-rpc kami untuk memastikannya sesuai dengan spesifikasi.
Kompatibilitas terbalik.
Layanan proxy terbalik kami, jussi, menangani metode terjemahan. Ini berarti bahwa bahkan setelah menerapkan Appbase ke lingkungan produksi kami, panggilan API lama harus tetap berfungsi.
Update masa depan diperlukan.
Perhatikan bahwa API baru yang diperkenalkan dalam rilis ini masih Work in Progress. Ada sejumlah perubahan serialisasi yang masih dibuat untuk mereka dan karena itu mereka berada di berbagai negara bagian kelengkapan. Kami akan posting lagi dalam waktu dekat ini menjelaskan sifat perubahan tersebut. Jangan ragu untuk bermain-main dengan API tersebut, tapi ketahuilah bahwa mereka akan berubah. Setelah kami menyelesaikan API tersebut, kami akan mencela condenser_api dan memulai migrasi ke API baru.
Config file berubah
Konfigurasi logging selalu menjadi titik yang sakit di file konfigurasi karena banyaknya pilihan yang tersedia. Itu sangat kompleks sehingga membutuhkan parser yang berbeda. Kami telah berubah menggunakan format json, yang memungkinkan kami hanya menggunakan satu parser.
Plugin
Plugin diaktifkan melalui opsi plugin. Tidak ada lagi opsi public-api dan semua API sekarang diaktifkan melalui plugin juga.
Sebagian besar opsi konfigurasi sekarang diberi nama oleh plugin milik mereka. Pilihan konfigurasi yang tidak diberi nama tetap didukung namun sekarang akan mencatat peringatan penghentian bila digunakan. contrib / config-for-docker.ini dan contrib / fullnode.config.ini adalah contoh konfigurasi yang digunakan pada gambar Docker. Anda bisa menggunakan ini sebagai contoh file config. Seperti biasa, sebaiknya gunakan gambar Docker untuk menyebarkan nodus Anda.
Kesimpulan
Perubahan ini telah berlangsung selama berbulan-bulan, dan merupakan langkah maju yang besar bagi Steem. AppBase memberikan fondasi yang kuat untuk memenuhi semua kebutuhan penskalaan di masa depan, dan memungkinkan kami menumbuhkan platform sekaligus mengelola persyaratan sumber daya untuk pengembang aplikasi, saksi, dan pertukaran pihak ketiga untuk berkembang seiring dengan itu.