Pembangunan : Alat - drihsanmy/Osmosis-Malaysia-Translation-Team GitHub Wiki
#Apakah LocalOsmosis?
LocalOsmosis (cabangan daripada LocalTerra) ialah testnet Osmosis yang lengkap dan ekosistem yang disimpan dengan Docker dan didatangkan dengan docker-compose
fail ringkas. Ia memudahkan pembangun kontrak pintar menguji kontrak mereka dalam kotak pasir sebelum mereka menggunakannya pada testnet atau mainnet.
LocalOsmosis datang dipra-konfigurasikan dengan lalai berpandangan, sesuai untuk persekitaran ujian standard. Jika projek lain menyebut tentang ujian pada LocalOsmosis, mereka merujuk kepada tetapan yang ditakrifkan dalam repo ini.
LocalOsmosis mempunyai kelebihan berikut berbanding testnet awam:
- Keadaan dunia yang mudah diubah suai
- Cepat untuk ditetapkan semula untuk lelaran pantas
- Simulasi mudah senario yang berbeza
- Tingkah laku pengesah yang boleh dikawal
#Prasyarat
Docker
docker-compose
-
Osmosisd
- Pilih pilihan 3 (localosmosis), pemasang akan mengkonfigurasi segala-galanya untuk anda.
- Dameon osmosisd pada komputer tempatan anda digunakan untuk berkomunikasi dengan daemon localosmosis yang berjalan di dalam bekas Docker.
- Seni bina yang diketahui disokong: x86_64
- 16+ GB RAM disyorkan
#Pasang LocalOsmosis
- Jalankan arahan berikut::
git clone https://github.com/osmosis-labs/LocalOsmosis.git
cd LocalOsmosis
docker-compose
dipasang.Jika dijalankan pada linux, anda boleh memasang alat ini dengan arahan berikut:
- pekerja docker
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt install docker.io -y
- karang docker
sudo apt install docker-compose -y
#Mulakan, hentikan dan tetapkan semula LocalOsmosis
- Mulakan LocalOsmosis:
make start
Persekitaran anda kini mengandungi:
-
osmosisd Nod RPC berjalan
tcp://localhost:26657
- LCD berjalan pada http://localhost:1317
Hentikan LocalOsmosis (dan simpan data rantaian):
make stop
Hentikan LocalOsmosis (dan padamkan data rantaian):
make restart
#Integrasi
#osmosisd
Pastikan versi yang sama
osmosisd
terdapat dalam komputer tempatan anda dan bekas LocalOsmosis Docker. Anda boleh menyemak versi localosmosis dengan menyemak imej dalam fail docker-compose.yml dan versi osmosisd anda pada mesin tempatan anda denganosmosisd version
Gunakan
osmosisd
daripada mesin tempatan anda untuk bercakap denganosmosisd
nod LocalOsmosis anda:
osmosisd status
Perintah ini berfungsi secara automatik kerana osmosisd
bersambung localhost:26657
secara lalai.
Perintah berikut ialah bentuk eksplisit:
osmosisd status --node=tcp://localhost:26657
-
Jalankan mana-mana arahan
osmosisd
terhadap rangkaian LocalOsmosis anda, seperti yang ditunjukkan dalam contoh berikut:
osmosisd query account osmo1l0jjmvdtj4c3f8cxzzgfhq0zhdzf2x8cgpg056
#Konfigurasikan LocalOsmosis
Majoriti LocalOsmosis dilaksanakan melalui fail docker-compose.yml
, menjadikannya mudah untuk disesuaikan. Anda boleh menggunakan LocalOsmosis sebagai titik templat permulaan untuk menyediakan testnet Osmosis tempatan anda sendiri dengan bekas Docker.
Di luar kotak, LocalOsmosis diprakonfigurasikan dengan tetapan pendapat seperti:
- port yang ditakrifkan untuk RPC (26657) dan LCD (1317)
- akaun standard
#Mengubah suai konfigurasi nod
Anda boleh mengubah suai konfigurasi nod pengesah anda dalam fail config/config.toml
dan .config/app.toml
#Petua pro: Mempercepatkan Masa Sekatan
Untuk mengurangkan masa blok, edit [consensus]
parameter dalam config/config.toml
fail dan tentukan nilai anda sendiri.
Contoh berikut mengkonfigurasi semua tamat masa kepada 200ms
:
##### consensus configuration options #####
[consensus]
wal_file = "data/cs.wal/wal"
- timeout_propose = "3s" - timeout_propose_delta = "500ms" - timeout_prevote = "1s" - timeout_prevote_delta = "500ms" - timeout_precommit_delta = "500ms" - timeout_commit = "5s" + timeout_propose = "200ms" + timeout_propose_delta = "200ms" + timeout_prevote = "200ms" + timeout_prevote_delta = "200ms" + timeout_precommit_delta = "200ms" + timeout_commit = "200ms"
Selain itu, anda boleh menggunakan baris tunggal berikut untuk mengkonfigurasi tamat masa:
sed -E -i '/timeout_(propose|prevote|precommit|commit)/s/[0-9]+m?s/200ms/' config/config.toml
#Mengubah suai genesis
Anda boleh menukar genesis.json
fail dengan mengubah config/genesis.json
. Untuk memuatkan perubahan anda, mulakan semula LocalOsmosis anda.
#Akaun
LocalOsmosis diprakonfigurasikan dengan satu pengesah dan 10 akaun dengan baki ION dan OSMO.
Akaun | Alamat | Mnemonik |
---|---|---|
pengesah | osmo1phaxpevm5wecex2jyaqty2a4v02qj7qmlmzk5aosmovaloper1phaxpevm5wecex2jyaqty2a4v02qj7qm9v24r6 | satisfy adjust timber high purchase tuition stool faith fine install that you unaware feed domain license impose boss human eager hat rent enjoy dawn |
ujian1 | osmo1cyyzpxplxdzkeea7kwsydadg87357qnahakaks | notice oak worry limit wrap speak medal online prefer cluster roof addict wrist behave treat actual wasp year salad speed social layer crew genius |
ujian2 | osmo18s5lynnmx37hq4wlrw9gdn68sg2uxp5rgk26vv | quality vacuum heart guard buzz spike sight swarm shove special gym robust assume sudden deposit grid alcohol choice devote leader tilt noodle tide penalty |
ujian3 | osmo1qwexv7c6sm95lwhzn9027vyu2ccneaqad4w8ka | symbol force gallery make bulk round subway violin worry mixture penalty kingdom boring survey tool fringe patrol sausage hard admit remember broken alien absorb |
ujian4 | osmo14hcxlnwlqtq75ttaxf674vk6mafspg8xwgnn53 | bounce success option birth apple portion aunt rural episode solution hockey pencil lend session cause hedgehog slender journey system canvas decorate razor catch empty |
ujian5 | osmo12rr534cer5c0vj53eq4y32lcwguyy7nndt0u2t | second render cat sing soup reward cluster island bench diet lumber grocery repeat balcony perfect diesel stumble piano distance caught occur example ozone loyal |
ujian6 | osmo1nt33cjd5auzh36syym6azgc8tve0jlvklnq7jq | spatial forest elevator battle also spoon fun skirt flight initial nasty transfer glory palm drama gossip remove fan joke shove label dune debate quick |
ujian7 | osmo10qfrpash5g2vk3hppvu45x0g860czur8ff5yx0 | noble width taxi input there patrol clown public spell aunt wish punch moment will misery eight excess arena pen turtle minimum grain vague inmate |
ujian8 | osmo1f4tvsdukfwh6s9swrc24gkuz23tp8pd3e9r5fa | cream sport mango believe inhale text fish rely elegant below earth april wall rug ritual blossom cherry detail length blind digital proof identify ride |
ujian9 | osmo1myv43sqgnj5sm4zl98ftl45af9cfzk7nhjxjqh | index light average senior silent limit usual local involve delay update rack cause inmate wall render magnet common feature laundry exact casual resource hundred |
ujian10 | osmo14gs9zqh8m49yy9kscjqu9h72exyf295afg6kgk | prefer forget visit mistake mixture feel eyebrow autumn shop pair address airport diesel street pass vague innocent poem method awful require hurry unhappy shoulder |
#Isu biasa
#Masalah kebenaran Docker
Sekiranya anda mendapat kebenaran ditolak semasa cuba memulakan make start
make start
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied
Semak sama ada enjin docker sedang berjalan:
sudo systemctl status docker
Jika tidak:
# Configure Docker to start on boot
sudo systemctl enable docker.service
# Start docker service
sudo systemctl start docker.service
Pastikan pengguna semasa berada dalam docker
kumpulan:
- Buat kumpulan docker dan tambah pengguna anda
# Create the docker group
sudo groupadd docker
# Add your user to the docker group.
sudo usermod -aG docker $USER
- Log keluar dan log masuk semula supaya keahlian kumpulan anda dinilai semula.
Butiran lanjut boleh didapati di sini .