TON SDK: Osnovna klijentska biblioteka izgrađena na EVER OS GraphQL API-ju
TON SDK
Osnovna klijentska biblioteka izgrađena na EVER OS GraphQL API-ju za Everscale DApp razvoj
Što je Core Everscale Client Library
Core Client Library napisana je u Rustu i može se dinamički povezivati. Omogućuje sve teške računalne komponente i funkcije, kao što su TON Virtual Machine, TON Transaction Executor, funkcije povezane s ABI-jem, funkcije povezane s boc-om, kripto funkcije.
Odluka o stvaranju biblioteke Rust donesena je nakon određenog vremenskog razdoblja korištenja čistog JavaScripta za implementaciju ovih slučajeva upotrebe.
Završili smo s vrlo sporim radom čistog JavaScripta i odlučili smo sve ovo premjestiti u Rust biblioteku i povezati s Javascriptom kao kompajliranom binarnom datotekom uključujući wasm modul za aplikacije preglednika.
Također je ovaj pristup pružio priliku za jednostavno stvaranje povezivanja za bilo koji programski jezik i platformu, čime je omogućen razvoj distribuiranih aplikacija (DApps) za sve moguće slučajeve upotrebe, kao što su: mobilne DApps, web DApps, DApps na strani poslužitelja , poduzeće DApp itd.
Knjižnica klijenta izlaže svu funkcionalnost kroz nekoliko izvezenih funkcija. Sva interakcija s knjižnicom izvodi se korištenjem protokola sličnog JSON-RPC-u.
Knjižnica radi GraphQL API od EVER OS DApp poslužitelj . Dakle, može se koristiti za izravnu interakciju s EVER OS Clouds .
SDK-ovi na drugim jezicima (vezivanje preko TON-SDK-a)
Vezanje je knjižnica tankog klijenta napisana na određenom jeziku koja djeluje kao most između knjižnice klijenta i koda aplikacije napisanog na tom jeziku.
Službeni Javascript (Typescript) SDK
Podržane platforme: Node.js, Web, React-Native za IOS/Android
phpmyadmin docker-sastaviti
Spremište: JavaScript SDK
Uvezi zajednice
Kako koristiti knjižnicu
Najjednostavniji način je korištenje biblioteke u Rust aplikacijama zbog izvornog sučelja biblioteke Rust. Rust sučelje je jasno i dobro dokumentirano.
Ali što ako morate koristiti knjižnicu na jezicima koji nisu Rust?
Imate neke mogućnosti:
- koristiti knjižnični modul |_+_| koji omogućuje pristup funkcijama knjižnice putem JSON-RPC sučelja. Ovo sučelje izvozi nekoliko vanjskih 'C' funkcija. Dakle, možete izgraditi dinamičku ili statičnu biblioteku poveznica i povezati je sa svojom aplikacijom kao bilo koje druge vanjske biblioteke. JSON sučelje u potpunosti je kompatibilno sa 'C'. Opis možete pronaći u odjeljku JSON sučelje .
- koristiti vezove koje su već napisali TON Labs i zajednica. Dolje možete pronaći popis poznatih veza.
- napišite vlastitu vezu s odabranim jezikom i podijelite je sa zajednicom.
Ako odaberete korištenje JSON sučelja, pročitajte ovaj dokument JSON sučelje .
Ovdje možete pronaći upute za korištenje |_+_| i napišite svoj vlastiti uvez.
Kako izbjeći probleme s mekim lomljenjem
Soft Breaking su izmjene API-ja koje uključuju samo nova izborna polja u postojećim strukturama. Ove promjene potpuno su kompatibilne sa starijim verzijama za JSON sučelje.
Ali u Rustu takve promjene mogu proizvesti neke probleme sa starim kodom klijenta.
Pogledajte primjer u nastavku:
- Postoji API v1.0 funkcija |_+_| i odgovarajuću strukturu parametara:
- Aplikacija koristi ovu funkciju na sljedeći način:
- API v.1.1 uvodi novo polje u |_+_|:
Iz perspektive JSON-sučelja to nije prijelomna promjena jer je novi parametar neobavezan. Ali isječak koda (2) proizvest će pogrešku Rust kompilacije.
- Kako bismo izbjegli takve probleme, preporučujemo korištenje zadane implementacije unutar inicijalizacije strukture:
Za sve Ton Client API strukture |_+_| osobina je implementirana.
kako napraviti kartašku igru u jedinstvu
Izgradite klijentsku biblioteku
Najbolji način za izgradnju klijentskih biblioteka je korištenje skripti za izgradnju iz ovog skladišta.
Bilješka : Skripte su napisane u JavaScriptu pa morate instalirati Node.js (v.10 ili noviji) da biste ih pokrenuli. Također provjerite imate li instaliranu najnoviju verziju Rusta.
Da biste izgradili binarnu datoteku za određeni cilj (ili vezanje), idite do odgovarajuće mape i pokrenite |_+_|.
Rezultirajuće binarne datoteke postavljaju se u |_+_| mapu u gz-komprimiranom formatu.
kripto e-novac
Imajte na umu da skripta za izgradnju generira binarne datoteke kompatibilne s platformom koja se koristi za pokretanje skripte. Na primjer, ako ga pokrenete na Mac OS-u, dobit ćete binarne datoteke namijenjene platformi Darwin (macOS).
Bilješka : Trebate najnoviju verziju Rusta. Nadogradite ga s |_+_| naredba. Provjerite verziju s |_+_|, trebao bi biti veći ili jednak |_+_|.
Gradite artefakte
Obnovi |_+_|:
|_+_|Obnovi |_+_|:
|_+_|Obnovi |_+_|:
|_+_|Pokrenite testove
Za pokretanje paketa testova koristite standardnu naredbu Rust test
|_+_|Potrebni SDK testovi EVER OS API krajnja točka za rad. Takav API izlaže a DApp poslužitelj koji radi u stvarnim mrežama i lokalnim blockchainom TONOS AKO .
TON OS SE koristi se prema zadanim postavkama s adresom |_+_| i port 80. Ako ga pokrenete na drugom portu morate ga eksplicitno navesti ovako: |_+_|. Ako imate TON OS SE koji se izvodi na drugoj adresi ili trebate pokrenuti testove na stvarnoj Everscale mreži, upotrijebite sljedeće varijable okruženja za nadjačavanje zadanih parametara
|_+_|Preuzmite prethodno kompajlirane binarne datoteke
Umjesto da sami gradite biblioteku, možete preuzeti najnoviji unaprijed kompilirane binarne datoteke iz TON Labs SDK Binaries Store.
Platforma | Major | Linkovi za preuzimanje |
---|---|---|
Win32 | 0 | |_+_| , |_+_| |
1 | |_+_| , |_+_| | |
macOS | 0 | |_+_| |
1 | (x86_64) |_+_| | |
1 | (aarch64) |_+_| | |
Linux | 0 | |_+_| |
1 | |_+_| |
Ako želite stariju verziju biblioteke (npr. |_+_| za macOS), trebate odabrati vezu na svoju platformu s gornjeg popisa i zamijeniti |_+_| s verzijom: https://binaries.tonlabs.io/tonclient_ 0_25_0 _darwin.gz
Preuzeta arhiva je gzipana datoteka
bot komentari na youtube
Korisni linkovi
Vrste i metode JavaScript SDK-a (referenca za API)
Osnovne vrste i metode (API referenca)
Detalji preuzimanja:
Autor: tonlabs
Izvorni kod: https://github.com/tonlabs/TON-SDK
Licenca: Licenca Apache-2.0
Vidi Također:
- Kako se rugati GraphQL API-ima s json-graphql-poslužiteljem
- Hyper V vs VMware VS VirtualBox: Što je najbolje za sastanke s Virtualizat
- Vanjske tablice SQL Server PolyBase s Azure Blob Storage
- Waldo Anticheat: Strojno učenje za otkrivanje ciljanja u videoisječcima
- Izradite decentralizirani protokol razmjene poput PancakeSwap -a na pametnom lancu Binance