Bu fonksiyonlar, Solana ve SVM uyumlu blok zincirleri için SVM eklentisi kullanılırken mevcuttur.
system_program_id
svm::system_program_id, System Program'ın kimliğini döndürür,
11111111111111111111111111111111.
output "system_program_id" {value = svm::system_program_id()}// > 11111111111111111111111111111111
default_pubkey
svm::default_pubkey varsayılan bir pubkey döndürür,
11111111111111111111111111111111.
output "default_pubkey" {value = svm::default_pubkey()}// > 11111111111111111111111111111111
get_instruction_data_from_idl_path
svm::get_instruction_data_from_idl_path, bir program çağrısı için kodlanmış
instruction data oluşturur; sağlanan IDL dosyasına dayalı tür denetimi ve
serileştirme sağlar.
Girdiler
| Name | Required | Type | Description |
|---|---|---|---|
idl_path | gerekli | string | txtx.yml dosyasına göre IDL .json dosyasının yolu |
instruction_name | gerekli | string | Veri oluşturulacak talimatın adı |
arguments | isteğe bağlı | array[string] | Veri oluşturulacak talimat argümanları |
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, bir program çağrısı için kodlanmış
instruction data oluşturur; sağlanan IDL verisine dayalı tür denetimi ve
serileştirme sağlar.
Girdiler
| Name | Required | Type | Description |
|---|---|---|---|
idl | gerekli | string | SVM_IDL | Program IDL'si |
instruction_name | gerekli | string | IDL tarafından indekslenen, veri oluşturulacak talimatın adı |
arguments | isteğe bağlı | array[string] | Veri oluşturulacak talimat argümanları |
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, bir Anchor projesindeki program için
program dağıtım artefaktlarını alır.
Girdiler
| Ad | Zorunlu | Tür | Açıklama |
|---|---|---|---|
program_name | zorunlu | string | Dağıtılan programın adı |
keypair_path | isteğe bağlı | string | Program keypair dosyasının konumu |
idl_path | isteğe bağlı | string | Program IDL dosyasının konumu |
bin_path | isteğe bağlı | string | Program ikili dosyasının konumu |
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, Anchor kullanmayan bir program için
dağıtım artifact'larını getirir.
Girdiler
| Ad | Zorunlu | Tür | Açıklama |
|---|---|---|---|
program_name | zorunlu | string | Dağıtılan programın adı |
keypair_path | isteğe bağlı | string | Program keypair dosyasının konumu |
idl_path | isteğe bağlı | string | Program IDL dosyasının konumu |
bin_path | isteğe bağlı | string | Program ikili dosyasının konumu |
variable "contract" {value = svm::get_program_from_native_project("my_program")}output "idl" {value = variable.contract.idl}
sol_to_lamports
svm::sol_to_lamports, sağlanan SOL miktarını lamport cinsine dönüştürür.
output "lamports" {value = svm::sol_to_lamports(1.1)}// lamports: 1100000000
lamports_to_sol
svm::lamports_to_sol, sağlanan lamport miktarını SOL cinsine dönüştürür.
output "sol" {value = svm::lamports_to_sol(1100000000)}// sol: 1.1
find_pda
svm::find_pda, sağlanan program kimliği ve seed'leri kullanarak geçerli bir
PDA bulur.
Girdiler
| Ad | Zorunlu | Tür | Açıklama |
|---|---|---|---|
program_id | zorunlu | string | PDA'nın türetildiği programın adresi |
seeds | isteğe bağlı | array[string] | İsteğe bağlı seed dizisi (en fazla 16, her biri 32 bayt) |
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, sağlanan cüzdan ve token mint adresleri
için associated token account adresini hesaplar.
Girdiler
| Ad | Zorunlu | Tür | Açıklama |
|---|---|---|---|
wallet_address | zorunlu | string | Cüzdanın adresi |
token_mint_address | isteğe bağlı | string | Token mint'in adresi |
variable "token_account" {value = svm::get_associated_token_account(signer.caller.address, "So11111111111111111111111111111111111111112")}
create_token_account_instruction
svm::create_token_account_instruction, bir associated token account oluşturmak
için ham talimat baytları oluşturur.
Girdiler
| Ad | Zorunlu | Tür | Açıklama |
|---|---|---|---|
funding_address | zorunlu | string | Finansman hesabının adresi |
wallet_address | zorunlu | string | Cüzdanın adresi |
token_mint_address | isteğe bağlı | string | Token mint'in adresi |
token_program_id | isteğe bağlı | string | Token Program'ın adresi |
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, PDA türetiminde seed olarak kullanılmaya uygun şekilde bir u64 tam
sayısının bayt dizisi temsilini oluşturur.
Girdiler
| Ad | Zorunlu | Tür | Açıklama |
|---|---|---|---|
value | zorunlu | integer | Bayt dizisine dönüştürülecek u64 tam sayısı |
variable "pda" {value = svm::find_pda("3bv3j4GvMPjvvBX9QdoX27pVoWhDSXpwKZipFF1QiVr6", [svm::u64(1000000000)])}
i64
svm::i64, PDA türetiminde seed olarak kullanılmaya uygun şekilde bir i64 tam
sayısının bayt dizisi temsilini oluşturur.
Girdiler
| Ad | Zorunlu | Tür | Açıklama |
|---|---|---|---|
value | zorunlu | integer | Bayt dizisine dönüştürülecek i64 tam sayısı |
variable "pda" {value = svm::find_pda("3bv3j4GvMPjvvBX9QdoX27pVoWhDSXpwKZipFF1QiVr6", [svm::i64(-1000000000)])}
Is this page helpful?