Nämä funktiot ovat käytettävissä, kun käytetään SVM-lisäosaa Solanalle ja SVM-yhteensopiville lohkoketjuille.
system_program_id
svm::system_program_id palauttaa System Program -tunnisteen,
11111111111111111111111111111111.
output "system_program_id" {value = svm::system_program_id()}// > 11111111111111111111111111111111
default_pubkey
svm::default_pubkey palauttaa oletusarvoisen julkisen avaimen,
11111111111111111111111111111111.
output "default_pubkey" {value = svm::default_pubkey()}// > 11111111111111111111111111111111
get_instruction_data_from_idl_path
svm::get_instruction_data_from_idl_path luo koodatun instruction data
-sisällön ohjelman kutsua varten, tarjoten tyypintarkistuksen ja serialisoinnin
annetun IDL-tiedoston perusteella.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
idl_path | pakollinen | merkkijono | Polku, suhteessa txtx.yml-tiedostoon, IDL .json -tiedostoon |
instruction_name | pakollinen | merkkijono | Sen ohjeen nimi, jolle data generoidaan |
arguments | valinnainen | taulukko[merkkijono] | Ohjeen argumentit, joille data generoidaan |
output "data" {value = svm::get_instruction_data_from_idl("/path/to/idl.json", "my_instruction", ["arg1", "arg2"])}// > data: 0x95763bdcc47fa1b305000000776f726c64
get_instruction_data_from_idl
svm::get_instruction_data_from_idl luo koodatun instruction data -sisällön
ohjelman kutsua varten, tarjoten tyypintarkistuksen ja serialisoinnin annetun
IDL-datan perusteella.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
idl | pakollinen | merkkijono | SVM_IDL | Ohjelman IDL |
instruction_name | pakollinen | merkkijono | Sen ohjeen nimi, jolle data generoidaan IDL:n indeksoinnin mukaisesti |
arguments | valinnainen | taulukko[merkkijono] | Ohjeen argumentit, joille data generoidaan |
output "data" {value = svm::get_instruction_data_from_idl(variable.contract.idl, "my_instruction", ["arg1", "arg2"])}// > data: 0x95763bdcc47fa1b305000000776f726c64
get_program_from_anchor_project
svm::get_program_from_anchor_project hakee ohjelman käyttöönottoartefaktit
Anchor-projektin ohjelmalle.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
program_name | pakollinen | string | Käyttöönotettavan ohjelman nimi |
keypair_path | valinnainen | string | Ohjelman keypair-tiedoston sijainti |
idl_path | valinnainen | string | Ohjelman IDL-tiedoston sijainti |
bin_path | valinnainen | string | Ohjelman binaaritiedoston sijainti |
variable "contract" {value = svm::get_program_from_anchor_project("my_program")}output "idl" {value = variable.contract.idl}
get_program_from_native_project
svm::get_program_from_native_project hakee ohjelman käyttöönottoartefaktit
ei-Anchor-ohjelmalle.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
program_name | pakollinen | string | Käyttöönotettavan ohjelman nimi |
keypair_path | valinnainen | string | Ohjelman keypair-tiedoston sijainti |
idl_path | valinnainen | string | Ohjelman IDL-tiedoston sijainti |
bin_path | valinnainen | string | Ohjelman binaaritiedoston sijainti |
variable "contract" {value = svm::get_program_from_native_project("my_program")}output "idl" {value = variable.contract.idl}
sol_to_lamports
svm::sol_to_lamports muuntaa annetun SOL-määrän lamporteiksi.
output "lamports" {value = svm::sol_to_lamports(1.1)}// lamports: 1100000000
lamports_to_sol
svm::lamports_to_sol muuntaa annetun lamport-määrän SOL:ksi.
output "sol" {value = svm::lamports_to_sol(1100000000)}// sol: 1.1
find_pda
svm::find_pda etsii kelvollisen PDA:n annetun ohjelmatunnuksen ja siementen
avulla.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
program_id | pakollinen | string | Sen ohjelman osoite, josta PDA johdetaan |
seeds | valinnainen | array[string] | Valinnainen siementaulukko (enintään 16, kukin 32 tavua) |
variable "pda" {value = svm::find_pda("3bv3j4GvMPjvvBX9QdoX27pVoWhDSXpwKZipFF1QiVr6", ["data"])}output "pda" {value = std::encode_base58(variable.pda.pda)}output "bump" {value = variable.pda.bump_seed}// > pda: 4amHoWMBgLkPfM8Nq9ZP33Liq9FCuqrLoU1feejkdsUJ// > bump: 252
get_associated_token_account
svm::get_associated_token_account laskee associated token account -osoitteen
annetulle lompakko- ja token mint -osoitteelle.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
wallet_address | pakollinen | merkkijono | Lompakon osoite |
token_mint_address | valinnainen | merkkijono | Token mintin osoite |
variable "token_account" {value = svm::get_associated_token_account(signer.caller.address, "So11111111111111111111111111111111111111112")}
create_token_account_instruction
svm::create_token_account_instruction luo raakaohjetavut associated token
account -tilin luomiseksi.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
funding_address | pakollinen | merkkijono | Rahoitustilin osoite |
wallet_address | pakollinen | merkkijono | Lompakon osoite |
token_mint_address | valinnainen | merkkijono | Token mintin osoite |
token_program_id | valinnainen | merkkijono | Token Program -ohjelman osoite |
action "call" "svm::process_instructions" {signers = [signer.caller]instruction {raw_bytes = svm::create_token_account_instruction(signer.caller.address, // funding addresssigner.caller.address, // wallet addressvariable.token_mint, // token mint addressvariable.token_program // token program id)}}
u64
svm::u64 luo u64-kokonaisluvun tavutaulukkoesityksen, joka soveltuu
seed-arvona käytettäväksi PDA-johdannassa.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
value | pakollinen | kokonaisluku | u64-kokonaisluku, joka muunnetaan tavutaulukoksi |
variable "pda" {value = svm::find_pda("3bv3j4GvMPjvvBX9QdoX27pVoWhDSXpwKZipFF1QiVr6", [svm::u64(1000000000)])}
i64
svm::i64 luo i64-kokonaisluvun tavutaulukkoesityksen, joka soveltuu
seed-arvona käytettäväksi PDA-johdannassa.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
value | pakollinen | kokonaisluku | i64-kokonaisluku, joka muunnetaan tavutaulukoksi |
variable "pda" {value = svm::find_pda("3bv3j4GvMPjvvBX9QdoX27pVoWhDSXpwKZipFF1QiVr6", [svm::i64(-1000000000)])}
Is this page helpful?