簡體   English   中英

如何使用 solana rust 合約發送 SOL

[英]How to send SOL with a solana rust contract

我是一名 Rust/Solana 開發人員,我覺得我遇到了一個對大多數其他新手都有幫助的問題。

我想知道如何在指令期間將 SOL 從帳戶轉移到程序,然后能夠將 SOL 發送回調用指令的帳戶。

我閱讀了https://docs.solana.com/但我找不到任何關於通過程序轉移 SOL 的信息。

例子:

Acc1 調用 Program1 中的 gamble 指令,該指令從調用者那里傳輸 1 個 SOL,然后運行可驗證的隨機 function。 如果 Acct1 贏得賭注,Program1 然后將 2 SOL 發送回 Acct1。

我真的很感激一些幫助,謝謝!

您可以在食譜中找到與此類似的程序: https://solanacookbook.com/references/programs.html#how-to-do-cross-program-invocation

您的情況的不同之處在於:

  • 使用solana_program::system_instruction::transfer而不是spl_token::instruction::transfer
  • 只有源帳戶和目標帳戶,沒有所有者
  • 使用源帳戶簽名
  • 傳入系統程序而不是令牌程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM