Nämä toiminnot ovat käytettävissä, kun käytetään SVM-lisäosaa transaktioiden rakentamiseen, allekirjoittamiseen ja lähettämiseen.
deploy_program
svm::deploy_program ottaa käyttöön Solana-ohjelman määritetyssä
SVM-yhteensopivassa verkossa.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
description | valinnainen | string | Kuvaus käyttöönoton toiminnosta |
program | pakollinen | object | Käyttöön otettavat Solana-ohjelma-artefaktit |
payer | valinnainen | string | Viittaus allekirjoittajaan käyttöönottokulujen maksamiseksi |
authority | pakollinen | string | Viittaus allekirjoittajaan ohjelman valtuutusta varten |
commitment_level | valinnainen | string | Sitoutumistaso ('processed', 'confirmed', 'finalized') |
auto_extend | valinnainen | bool | Laajennetaanko program account automaattisesti (oletus: true) |
Tulosteet
| Nimi | Tyyppi | Kuvaus |
|---|---|---|
signatures | object | Lasketut transaktioiden allekirjoitukset |
program_id | string | Käyttöönotetun ohjelman ohjelmatunnus |
program_idl | string | Ohjelman IDL |
action "deploy" "svm::deploy_program" {description = "Deploy hello world program"program = svm::get_program_from_anchor_project("hello_world")authority = signer.authoritypayer = signer.payer # Optional, defaults to authority}
process_instructions
svm::process_instructions-toiminto koodaa ohjeet, lisää ne transaktioon sekä
allekirjoittaa ja lähettää transaktion.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
description | valinnainen | string | Kuvaus transaktiosta |
instruction | pakollinen | map | Transaktioon lisättävät ohjeet |
signers | pakollinen | array[string] | Viittaukset allekirjoittajakonstrukteihin |
commitment_level | valinnainen | string | Sitoutumistaso |
rpc_api_url | pakollinen | string | URL API-pyyntöjä varten |
Tulosteet
| Nimi | Tyyppi | Kuvaus |
|---|---|---|
signature | string | Tapahtuman laskettu allekirjoitus |
action "program_call" "svm::process_instructions" {description = "Invoke instructions"instruction {program_idl = variable.program.idlinstruction_name = "initialize"instruction_args = [1]payer {public_key = signer.payer.public_key}}signers = [signer.caller]}
send_sol
svm::send_sol-toiminto koodaa tapahtuman, joka lähettää SOL:ia, allekirjoittaa
sen ja lähettää sen verkkoon.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
description | valinnainen | string | Tapahtuman kuvaus |
amount | pakollinen | integer | Lähetettävä määrä, lamport-yksikköinä |
recipient | pakollinen | string | Vastaanottajan SVM-osoite |
signer | pakollinen | string | Viittaus allekirjoittajakonstruktiin |
commitment_level | valinnainen | string | Sitoutumistaso |
rpc_api_url | pakollinen | string | URL API-pyyntöjä varten |
Tulosteet
| Nimi | Tyyppi | Kuvaus |
|---|---|---|
signature | string | Tapahtuman laskettu allekirjoitus |
action "send_sol" "svm::send_sol" {description = "Send some SOL"amount = svm::sol_to_lamports(1)signer = signer.callerrecipient = "zbBjhHwuqyKMmz8ber5oUtJJ3ZV4B6ePmANfGyKzVGV"}
send_token
svm::send_token-toiminto koodaa tapahtuman, joka lähettää määritetyn tokenin,
allekirjoittaa sen ja lähettää sen verkkoon.
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
description | valinnainen | string | Tapahtuman kuvaus |
amount | pakollinen | integer | Lähetettävien tokenien määrä perusyksikköinä |
token | pakollinen | string | Token mint account -osoite |
recipient | pakollinen | string | Vastaanottajan SVM-osoite |
authority | valinnainen | string | Auktoriteettitilin pubkey |
fund_recipient | valinnainen | bool | Luo ja rahoita vastaanottajan token account tarvittaessa |
signers | pakollinen | array[string] | Viittaukset allekirjoittajakonstrukteihin |
Tulosteet
| Nimi | Tyyppi | Kuvaus |
|---|---|---|
signature | string | Tapahtuman laskettu allekirjoitus |
recipient_token_address | pubkey | Vastaanottajan token account -osoite |
source_token_address | pubkey | Lähteen token account -osoite |
token_mint_address | pubkey | Tokenin mint-osoite |
action "send_sol" "svm::send_token" {description = "Send some tokens"amount = 1000000signers = [signer.caller]recipient = "zbBjhHwuqyKMmz8ber5oUtJJ3ZV4B6ePmANfGyKzVGV"token = "3bv3j4GvMPjvvBX9QdoX27pVoWhDSXpwKZipFF1QiVr6"fund_recipient = true}
setup_surfnet
svm::setup_surfnet voidaan käyttää surfnetin määrittämiseen.
Seuraavat toiminnot ovat tuettuja:
set_account- Aseta tilin lamports-, owner-, data- ja executable-kentätset_token_account- Aseta summa, delegoija, delegoitu summa ja sulkemisvaltuutus token account -tililleclone_program_account- Kloonaa program account lähde-ohjelmatunnuksesta kohde-ohjelmatunnukseenset_program_authority- Aseta ohjelman valtuutusdeploy_program- Ota ohjelma käyttöön suoraan surfnetissä (suoran tilikirjoituksen kautta, ei tapahtumien kautta)reset_account- Nollaa tili poistamalla se paikallisesta välimuistista, jolloin se haetaan uudelleen ylävirrastastream_account- Suoratoista tilin tiedot mainnetistä, jotta paikalliset tiedot vastaavat aina mainnetiä
Syötteet
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
description | valinnainen | string | Kuvaus asetuksesta |
rpc_api_url | pakollinen | string | URL API-pyyntöjä varten |
set_account
Asettaa tilin tiedot suoraan surfnetiin.
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
public_key | pakollinen | string | Sen tilin julkinen avain, joka asetetaan |
account_path | valinnainen | string | Polku JSON-tiedostoon, joka sisältää asetettavat tilin tiedot. Jos annettu, muut kentät ohitetaan |
lamports | valinnainen | integer | Lamports-määrä, johon tili asetetaan |
data | valinnainen | bytes | Tilille asetettava data |
owner | valinnainen | string | Tilille asetettava omistaja |
executable | valinnainen | bool | Tilille asetettava suoritettavuustila |
rent_epoch | valinnainen | integer | epoch, jolloin tili on vapautettu vuokrasta |
Vähintään yksi seuraavista on annettava: lamports, data, owner,
executable tai rent_epoch (ellei käytetä account_path:aa).
set_token_account
Asettaa token account -tiedot surfnetiin. associated token account johdetaan automaattisesti omistajan julkisesta avaimesta ja token mintistä.
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
public_key | pakollinen | string | Päivitettävän token-omistajatilin julkinen avain |
token | pakollinen | string | Tokenin symboli (esim. "usdc", "bonk") tai token mintin julkinen avain |
token_program | valinnainen | string | Token Program -tunnus. Kelvolliset arvot ovat token2020, token2022 tai julkinen avain (oletus: token2020) |
amount | valinnainen | integer | Asetettavien tokenien määrä |
delegate | valinnainen | string | Asetettavan valtuutetun julkinen avain tai null tyhjentämiseksi |
state | valinnainen | string | token account -tilan arvo. Kelvolliset arvot ovat initialized, frozen tai uninitialized |
delegated_amount | valinnainen | integer | Valtuutettavien tokenien määrä |
close_authority | valinnainen | string | Asetettavan sulkemisvaltuuden julkinen avain tai null tyhjentämiseksi |
Vähintään yksi seuraavista on annettava: amount, delegate, state,
delegated_amount tai close_authority.
clone_program_account
Kloonaa program account yhdestä ohjelmatunnuksesta toiseen surfnetissä.
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
source_program_id | pakollinen | string | Kloonattavan ohjelman julkinen avain |
destination_program_id | pakollinen | string | Ohjelman kohteen julkinen avain |
set_program_authority
Asettaa tai poistaa ohjelman päivitysvaltuuden surfnet-verkossa.
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
program_id | pakollinen | string | Sen ohjelman pubkey, jolle valtuus asetetaan |
authority | valinnainen | string | Ohjelman uusi valtuus. Jos sitä ei anneta, ohjelman valtuudeksi asetetaan None (jolloin siitä tulee muuttumaton) |
deploy_program
Ottaa ohjelman käyttöön suoraan surfnet-verkossa tilitietojen kirjoituksen kautta (ei transaktioiden kautta).
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
program_id | pakollinen | string | Käyttöönotettavan ohjelman pubkey |
binary_path | pakollinen | string | Ohjelman .so-tiedoston sijainti (esim. ./target/deploy/my_program.so) |
authority | valinnainen | string | Sen valtuuden pubkey, jolla on valta ohjelmaan sen käyttöönoton jälkeen. Jos sitä ei anneta, ohjelmalla ei ole valtuutta |
idl_path | valinnainen | string | Ohjelman IDL-tiedoston sijainti (esim. ./target/idl/my_program.json) |
reset_account
Nollaa tilin surfnet-verkossa poistamalla sen paikallisesta välimuistista, jolloin se haetaan uudelleen ylävirran verkosta.
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
public_key | pakollinen | string | Nollattavan tilin pubkey |
include_owned_accounts | valinnainen | bool | Poistetaanko rekursiivisesti kaikki tämän tilin omistamat tilit. Oletusarvo on false |
stream_account
Virtauttaa tilitietoja mainnet RPC URL:sta surfnetiin, pitäen paikalliset tilitiedot synkronoituina mainnettiin.
| Nimi | Pakollinen | Tyyppi | Kuvaus |
|---|---|---|---|
public_key | pakollinen | string | Sen tilin pubkey, jota virtautetaan |
include_owned_accounts | valinnainen | bool | Virtautetaanko rekursiivisesti kaikki tämän tilin omistamat tilit. Oletusarvo on false |
action "setup" "svm::setup_surfnet" {// Set account balanceset_account {public_key = signer.caller.public_keylamports = 999999999}// Set token balanceset_token_account {public_key = signer.caller.public_keytoken = "usdc"amount = 1000000}// Clone a programclone_program_account {source_program_id = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"destination_program_id = variable.my_program_id}// Set program authorityset_program_authority {program_id = variable.my_program_idauthority = signer.caller.public_key}// Deploy a program directlydeploy_program {program_id = variable.my_program_idbinary_path = "./target/deploy/my_program.so"idl_path = "./target/idl/my_program.json"}// Reset an account to re-fetch from upstreamreset_account {public_key = variable.some_pubkey}// Stream account data from mainnetstream_account {public_key = variable.some_pubkeyinclude_owned_accounts = true}}
Is this page helpful?