TON SDK: Osnovna klijentska biblioteka izgrađena na EVER OS GraphQL API-ju

Isprobajte Naš Instrument Za Uklanjanje Problema

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

JezikSpremište
Clojure serge-medvedev/tones-client-clojure
Strijelica freetonsurfer/ton_client_dart
Golang radianceteam/ton-client-go
move-ton/ever-client-go
Java radianceteam/ton-client-java
Kotlin mdorofeev/ton-client-kotlin
Dva serge-medvedev/lua-client-tones
.NETO radianceteam/ton-client-dotnet
everscale-akcije/everscale-dotnet
vcvetkovs/TonSdk
staszx/Ton.Sdk
PHP ekstraton/php-ton-klijent
radianceteam/ton-client-php
Piton pomakni-ton/ton-klijent-py
Rubin radianceteam/ton-client-ruby
nerzh/ton-klijent-rubin
Scala slavaschmidt/ton-sdk-client-scala-binding/
radianceteam/ton-client-scala
Brz nerzh/ton-client-swift
strojopis RSquad/ton-client-ts

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:

  1. Postoji API v1.0 funkcija |_+_| i odgovarajuću strukturu parametara:
|_+_|
  1. Aplikacija koristi ovu funkciju na sljedeći način:
|_+_|
  1. 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.

  1. 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.

PlatformaMajorLinkovi za preuzimanje
Win320 |_+_| , |_+_|
1 |_+_| , |_+_|
macOS0 |_+_|
1(x86_64) |_+_|
1(aarch64) |_+_|
Linux0 |_+_|
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

Brzi početak (Javascript)

Opisi grešaka

Vrste i metode JavaScript SDK-a (referenca za API)

Osnovne vrste i metode (API referenca)

Vodiči

Detalji preuzimanja:
Autor: tonlabs
Izvorni kod: https://github.com/tonlabs/TON-SDK
Licenca: Licenca Apache-2.0

Vidi Također: