Isingeniso
Stellar Trade Contracts iyindawo yokusebenza yezinkontileka ze-Soroban ye-Stellar Trade, okuyisibonelo semakethe yokuqagela esinomthombo ovulekile esakhiwe ku-Stellar. Izinkontileka zilawula ukuthi i-XLM ingena kanjani echibini lemakethe, ukuthi ababambiqhaza banciphisa kanjani izikhundla, nokuthi izimakethe ezixazululiwe noma ezikhanseliwe zisabalalisa kanjani izinkokhelo nokubuyiselwa kwemali.
Indawo yokugcina yakhelwe onjiniyela abadinga ukwakha, ukuhlola, ukubuyekeza, noma ukukhipha izinkontileka ezisekela uhlelo lokusebenza. Ihlanganisa inkontileka yemakethe kanye nama-crate asekelayo ethokheni, okudluliselwa kwabanye, ibhodi labaholi, kanye nokuhlolwa kokuhlanganiswa.
Qonda indawo yokusebenza
Indawo yokugcina ihlelwe yaba ama-crate amakhulu amahlanu, ngalinye linomsebenzi ogxile kuwo:
prediction_market: Yakha izimakethe, yamukela izikhundla, inciphisa izikhundla, iphathe izenzo zomxazululi, ibale izimangalo ezilinganiswayo, icubungule ukubuyiselwa kwemali kwezimakethe ezikhanseliwe, ilandelele izimali, futhi isekele izingxabano nokuphathwa komphakathi.stellar_trade_token: Ihlinzeka ngethokheni yomvuzo enezilawuli zomlawuli, abenzi abagunyaziwe, izilawuli zokumisa, kanye nomkhawulo wokuzakha ongakhethwa. Ukukhishwa okusha kusebenzisa igama elithiStellar Tradekanye nophawuSTRD.referral_registry: Ibhalisa ukudluliselwa kwabanye, ikhawulela ukujula kochungechunge lokudluliselwa, futhi isabalalisa izimali zokudluliselwa.leaderboard: Ilandelela amaphuzu ababambiqhaza namarekhodi okuwina/okulahlekelwa, isebenzisa ukuncipha kwamaphuzu, futhi isekele ukwakhiwa kwemivuzo okugunyaziwe.cross_contract_invariants: Ihlola ukulandelwa kwezimali nokuziphatha kuzo zonke izinkontileka zemakethe, zokudluliselwa, zebhodi labaholi, nezethokheni.
Setha indawo yokusebenza ye-Rust
Le phrojekthi ibophela i-Rust 1.91.0 kanye ne-target ye-wasm32v1-none nge-rust-toolchain.toml. Faka i-toolchain ne-target echazwe yindawo yokugcina ngaphambi kokusebenzisa ukuhlola usuka empandeni yendawo yokugcina.
Uma imvelo isilungile, sebenzisa lonke uhlelo lokuhlola lwendawo yokusebenza:
cargo test --workspace --all-featuresUkuhlola ifomethi kuqinisekisa ukuthi ikhodi yomthombo ilandela imithetho yokufometha yephrojekthi:
cargo fmt --all -- --checkSebenzisa i-Clippy ngezixwayiso eziphathwa njengamaphutha ukuze uthole izinkinga zekhwalithi yekhodi nokunemba:
cargo clippy --workspace --all-features -- -D warningsYakha inkontileka yemakethe yokuqagela ye-WebAssembly ngephrofayela yokukhishwa:
cargo build --release --target wasm32v1-none -p prediction_marketLe miyalo ihambisana nokuhlola okusetshenziswa ukugeleza komsebenzi kwe-GitHub Actions kwendawo yokugcina. Ukugeleza komsebenzi kwakha nama-artifact e-WASM futhi kusebenzisa ukuhlolwa kokungaguquki kwezinkontileka ezahlukene ezinguqukweni zegatsha elizenzakalelayo nakuma-pull request.
Landela umjikelezo wokuphila wemakethe
1. Dala imakethe
Umdali ogunyaziwe ushicilela umbuzo wemakethe, isigaba, nesikhathi sokuvala. Ukudalwa kwemakethe kudinga imvume, ngakho ofonayo kufanele ahlangabezane nemithetho yokugunyazwa emiswe yinkontileka.
2. Beka isikhundla
Umbambiqhaza ubiza i-place_bet ukuze abeke i-XLM ohlangothini lwe-YES noma lwe-NO. Inkontileka isebenzisa izimali ezimisiwe futhi ifake isikweletu ohlangothini olukhethwe umbambiqhaza ngenani lesikhundla eliwumphumela.
Indlela yokunciphisa isikhundla ayikona ukuthengisa phakathi kwabantu ababili, ibhuku lama-oda, noma isikhundla esifushane. Iwumsebenzi owenziwa esigxotsheni esikhona esirekhodiwe sombambiqhaza.
3. Nciphisa isikhundla ngaphambi kokuvala
Ngaphambi kokuba imakethe ivalwe, umbambiqhaza angabiza i-reduce_position ukuze anciphise isikhundla esikhona. Inkontileka isebenzisa uhlangothi olurekhodiwe lombambiqhaza futhi ibale inani elibuyiswayo kusukela esigxotsheni esincishisiwe nemithetho yezimali ezigciniwe.
Ngenxa yokuthi inkontileka ikhetha uhlangothi esikhundleni esikhona sombambiqhaza, abafonayo akufanele babheke lo msebenzi njengokushintsha uhlangothi noma ukuhweba nomunye umbambiqhaza.
4. Xazulula imakethe
Umxazululi ogunyaziwe uthumela umphumela ngemva kokuba imakethe ivaliwe. Inkontileka yemakethe bese ibala izinkokhelo ezilinganiswayo zezikhundla eziwinile.
Ukuxazululwa kudinga imvume. Le ndawo yokusebenza ayinikezi i-oracle ezenzakalelayo. Idatha yangaphandle yamanani noma yenethiwekhi ayikwazi ukuxazulula imakethe ngaphandle kokuthi umxazululi ogunyaziwe asebenzise leyo datha futhi athumele umphumela.
5. Funa ukuwina noma uthole ukubuyiselwa kwemali kwemakethe ekhanseliwe
Ababambiqhaza bafuna izinkokhelo ezilinganiswayo ngenkontileka ngemva kokuba imakethe ixazululiwe. Izimakethe ezikhanseliwe zilandela indlela ehlukile yokubuyiselwa kwemali esikhundleni sendlela evamile yokukhokhela izikhundla eziwinile.
Ukukhethwa komxazululi, imibandela yokuxazulula, ubufakazi, nokuphathwa kwezingxabano kuyizimiso ezibalulekile zokwethembana. Buyekeza lezi zinqubo ngaphambi kokuthembela emakethe ekhishiwe.
Buyekeza ukulandelwa kwezimali nezici zokuphepha
Ngaphambi kokushintsha ukuziphatha kwenkontileka, funda i-invariant matrix. Ixhumanisa imithetho ebalulekile yokulandelwa kwezimali nokuhlola okuyivikelayo.
Le matrix ihlanganisa izindawo ezifana nalezi:
- Ukulondolozwa kwezimali kanye nokuhlukaniswa kwezimali ezingeni lemakethe.
- Imikhawulo yezinkokhelo ezilinganiswayo.
- Ukuziphatha kokukhansela.
- Ukulandelwa kwezimali zokudluliselwa.
- Ukulandelwa kokunikezwa kwemivuzo.
- Ukuphathwa kwesikhathi sokuphila kwesitoreji.
- Izindlela zokumisa eziphuthumayo.
Uma uguqula izimali, imivuzo, amafomula ezinkokhelo, noma izikhathi zokuphila kwesitoreji, buyekeza ukuhlola okufanele kokuhlehla nokungaguquki ngesikhathi esifanayo. I-crate ye-cross_contract_invariants iwusizo kakhulu lapho ushintsho luthinta inkontileka engaphezu kweyodwa.
Sebenzisa kahle imibiko yezinkinga yomlando
Ifolda ye-issues/ iqukethe imibiko yomlando yokuphepha nokunemba. Funda i-issues/README.md ukuze uqonde umongo wayo.
Le mibiko ibhala phansi izingozi zokuklama zangaphambilini. Akufanele ithathwe njengobufakazi bokuthi izinkontileka zihloliwe, noma njengokuqinisekisa ukuthi zonke izinkinga ezibalwe zisasebenza namanje. Yisebenzise njengengxenye yokubuyekeza kanye nekhodi yomthombo yamanje, izivivinyo, kanye ne-invariant matrix.
Lungiselela ukuthunyelwa
Ukuthunyelwa kwe-testnet kugcina ama-ID ezinkontileka omlando kanye nemethadatha yamathokheni. Ukuthunyelwa okusha kwakha amakheli amasha futhi kuqalisa i-STRD; akuthuthi abanikazi noma amabhalansi akhona.
Ngaphambi kokuthumela, qinisekisa konke okulandelayo:
- Inethiwekhi okuqondiswe kuyo.
- Ama-ID ezinkontileka.
- Ubunikazi bomlawuli.
- Izilungiselelo zezindleko.
- Ukucushwa kwe-resolver.
Ungalokothi ufake okhiye abayimfihlo, imishwana yokubuyisa isikhwama, .deploy.env, okukhiqizwe ngesikhathi sokuthunyelwa, noma amafayela obunikazi bendawo endaweni yokugcina ikhodi.
Ukuze uthole imiyalelo yokuthuthukisa i-frontend endaweni kanye nokuthunyelwa kwezinga lohlelo, bheka i-README yohlelo.
Amathiphu athuthukile okuthuthukisa
Hlola ukuziphatha phakathi kwezinkontileka
Ushintsho olubonakala lwendawo enkontilekeni eyodwa lungathinta ukudluliselwa, imiklomelo, amarekhodi ebhodi labaphambili, noma ukunikezwa kwamathokheni. Qalisa lonke uhlelo lwezivivinyo lwendawo yokusebenza kanye nezivivinyo zama-invariant eziphakathi kwezinkontileka, kunokuthembela kuphela ezivivinyweni zeyunithi zenkontileka eyodwa.
Gcina imingcele yezimvume icacile
Ukwakhiwa kwemakethe, ukuxazululwa, ukuphathwa kwamathokheni, ukwenziwa kwamathokheni, nezinye izenzo ezibucayi zisebenzisa izilawuli zokugunyaza. Lapho ubuyekeza noma wandisa inkontileka, qinisekisa ukuthi yibaphi obunikazi abavunyelwe ukwenza umsebenzi ngamunye nokuthi izilawuli zokumisa zithinta kanjani ukuziphatha kwezimo eziphuthumayo.
Buyekeza izinguquko zesikhathi sokuphila kwesitoreji
Ukuphathwa kwe-Storage TTL kuyingxenye yemodeli yokuphepha yephrojekthi. Noma yiluphi ushintsho kumaphethini okufinyelela kusitoreji noma ezikhathini zokuphila kufanele luhlolwe ngokuqhathaniswa ne-invariant matrix futhi luhlanganiswe nezivivinyo zokuvimbela ukuphindaphinda kwamaphutha.
Qinisekisa ama-artifact okukhishwa
Qalisa ukufometha, i-Clippy, izivivinyo, kanye nokwakhiwa kwe-WASM yokukhishwa ngaphambi kokushicilela noma ukuthumela izinguquko. Phatha ukwakhiwa kwendawo okuhlanzekile njengemfuneko yokuthuthukisa, hhayi njengokuthatha indawo yokubuyekeza ukucushwa kanye nobunikazi bokuthunyelwa.
Isiphetho
I-Stellar Trade Contracts inikeza umqondo we-Soroban wokwakha izimakethe zokuqagela, ukurekhoda izikhundla ze-YES ne-NO, ukunciphisa izigxobo, ukuxazulula imiphumela, ukusabalalisa izimangalo ezilinganiselwe, kanye nokubuyisela izimali ezimakethe ezikhanseliwe. Ama-crate ayo asekelayo angeza ukusebenza kwamathokheni emiklomelo, ukudluliselwa, ibhodi labaphambili, nokuhlanganisa.
Ukuze usebenze ngokuphepha nale ndawo yokugcina ikhodi, qala ngendawo ye-Rust ephiniwe, qalisa zonke izivivinyo zendawo yokusebenza, funda umjikelezo wokuphila kwemakethe, bese ubuyekeza i-invariant matrix ngaphambi kokushintsha ukuziphatha kokubalwa noma kwesitoreji. Ngesikhathi sokuthunyelwa, qinisekisa zonke izimvume nezilungiselelo zenethiwekhi futhi ugcine zonke izimfihlo ngaphandle kokulawulwa kwenguqulo.
