Pembangunan : Teras Osmosis : Menyumbang - drihsanmy/Osmosis-Malaysia-Translation-Team GitHub Wiki
Maklumat berikut menyediakan satu set garis panduan untuk menyumbang kepada repo dev rantai Osmo. Gunakan pertimbangan terbaik anda dan, jika anda melihat ruang untuk penambahbaikan, sila cadangkan perubahan pada dokumen ini. Panduan penyumbang untuk Osmosis menerangkan struktur percabangan, cara menggunakan garpu SDK, cara membuat / menguji kemas kini kepada cawangan SDK dan cara membuat nota keluaran. Sumbangan datang dalam bentuk penulisan dokumentasi, membangkitkan isu / PR, dan sebarang tindakan lain yang membantu membangunkan dokumentasi protokol Osmo.
#Langkah pertama
Langkah pertama ialah mencari isu yang ingin anda selesaikan. Untuk mengenal pasti isu yang kami fikir bagus untuk penyumbang kali pertama, kami menambah label 'keluaran pertama yang baik' . Jika anda mempunyai permintaan ciri, sila gunakan repo permintaan ciri. Sebaik sahaja anda menemui isu sedia ada yang ingin anda selesaikan atau jika anda mempunyai isu baharu untuk dibuat, teruskan di bawah.
#Mencadangkan perubahan
Untuk menyumbang cadangan perubahan, gunakan aliran kerja berikut:
-
Garpu repositori.
-
Tambah hulu supaya anda boleh mengemas kini garpu anda.
-
Klon garpu anda ke komputer anda.
-
Buat cawangan dan namakannya dengan sewajarnya.
-
Kerjakan hanya satu perubahan besar dalam satu permohonan tarik.
-
Pastikan semua ujian lulus secara tempatan.
-
Seterusnya, bilas dan ulangi perkara berikut:
- Komitkan perubahan anda. Tulis mesej komitmen yang ringkas dan mudah. Untuk mengetahui lebih lanjut, lihat Cara Menulis MesejKomit Git
- Tolak perubahan anda pada leluhur.
- Buat PR pada repositori Osmo. Perlu ada templat PR untuk membantu anda berbuat demikian.
- Tunggu perubahan anda disemak. Jika anda seorang penyelenggara, anda boleh menetapkan PR anda kepada satu atau lebih penyemak. Jika anda bukan penyelenggara, salah seorang penyelenggara akan menetapkan penyemak.
- Selepas anda menerima maklum balas daripada penyemak, buat perubahan yang diminta, serahkannya ke cawangan anda dan tolaknya ke leluhur anda sekali lagi.
- Sebaik sahaja kelulusan diberikan, sila skuasy & bergabung!
#Bekerja dengan SDK
- #Mengemas kini kebergantungan untuk binaan
Vendor ialah folder yang dibuat secara automatik jika anda menjalankan vendor mod go, yang mengandungi kod sumber untuk semua kebergantungan anda. Ia sering membantu untuk penyahpepijatan setempat. Untuk mengemas kininya, Komit & tolak ke garpu Cosmos-SDK dalam cawangan baharu (lihat langkah di atas untuk mendapatkan butiran lanjut), dan kemudian anda boleh ambil hash komit untuk melakukan:
go get github.com/osmosis-labs/cosmos-sdk@{my commit hash}
Anda akan mendapat sesuatu seperti:
go get: github.com/osmosis-labs/[email protected] updating to github.com/osmosis-labs/[email protected]: parsing go.mod: module declares its path as: github.com/cosmos/cosmos-sdk but was required as: github.com/osmosis-labs/cosmos-sdk
Kemudian anda boleh menyalin tampal v0.42.10-0.20210829064313-2c87644925da
dan menggantikan bahagian go.mod yang sepadan
Kemudian lakukan go mod vendor
, dan anda sudah bersedia.
#Menukar perkara dalam vendor untuk binaan tempatan / ujian tempatan
Dalam mana-mana folder yang anda jalankan penanda aras, anda boleh menguji melalui:
go test -benchmem -bench DistributionLogicLarge -cpuprofile cpu.out -test.timeout 30m -v
Kemudian setelah itu selesai, dan anda mendapat hasil penanda aras pendek, anda boleh lakukan:
go tool pprof -http localhost:8080 cpu.out
dan lihat pada output graphviz!
Ambil perhatian bahawa jika anda melakukan perkara tahap rendah / kecil, overhed cpuprofile mungkin kucar-kacir dengan kesan cache, dsb. Walau bagaimanapun, untuk perkara seperti kod epoch atau transaksi yang agak besar, ini benar-benar berfungsi!
#Struktur cawangan keluaran pada v7, v6, v4
Sesetengh orang masih memerlukan versi tersebut untuk menanyakan versi lama rantaian dan menyegerakkan nod daripada genesis, jadi kami memastikan perkara ini dikemas kini!
Untuk v6.x, dan v4.x, kebanyakan PR kepada mereka harus pergi ke utama dan mendapatkan label "backport". Kami biasanya menggunakan mergify untuk backporting. Backporting sering berlaku selepas PR telah digabungkan ke utama
#Bagaimana untuk membina fail proto.(rm -rf vendor/ && jadikan build-reproducible setelah docker dipasang)
Anda boleh melakukan vendor rm -rf dan membuat binaan boleh-dihasilkan-semula untuk memuat turun semula semua kebergantungan - ini sepatutnya menarik imej docker terkini Osmo. Anda juga harus memastikan untuk membuat proto-all untuk menjana fail protobuf anda secara automatik. Pastikan anda telah memasang docker. Jika anda mendapat sesuatu seperti W0503 22:16:30.068560 158 services.go:38] No HttpRule found for method: Msg.CreateBalancerPool
sila abaikannya. Pastikan juga untuk menjalankan semua ujian linting sebelum anda melakukan dan memohon, serta gofmt
fail yang telah anda ubah suai atau tambah untuk memastikan semuanya masih mematuhi piawaian.