Solana: Jito transaction with bundleOnly=true parameter?
Solana: jito transactions package only with V2. Parameter?
==================================================================== == =================
Starting from Solana 1.13, it is possible to send multiple transactions within a single package provided that certain conditions are satisfied. In this article, we will explore how to use the Bundleonly = True 'parameter during sending a transaction on Solana.
What is a jito transaction?
----------
A jito transaction is an optimized type of transaction that allows an efficient and safe transfer of the activities on multiple accounts. It was introduced in Solana 1.8 to replace the old transfer function. A jito transaction consists of several transactions, each with its own data set.
Transactions of the bundle
--------
A bundle transaction is an optimized way to send multiple transactions within a single transaction. This allows significant efficiency earnings compared to the sending of individual transactions one after the other.
The Bundleonly
parameter
----------
When sending a transaction as a packet on Solana, it is possible to specify thebundleonlyparameter with a value of the true. Here is an example:
sol
Use Solana-Program :: Account_info;
// Create two objects information on the Account for Mifted Accounts and Receivers
let sender_account_info = account_info :: new (
“Sender” .to_string (),
0,
1, // Send’s account index
);
Let Ricevitore_acCount_info = Account_info :: New (
“Receiver” .to_string (),
0,
1, // Reception account index
);
// Create a Jito transaction with Bundleonly = True and Punta
let jito_transation = Solana_program :: transaction :: Builder :: New ()
.Set_ACACUNT_INFO (SENDER_ACCOUNT_INFO)
.Set_ACCount_info (Received_acount_info)
.set_tag (“jitotransation”)
.set_tag (“Bundleonly = True”)
.With_packed_bytes (
Solana_program :: Packed_array :: Array (
// Add jito transactions as individual bytes
Solana_program :: Packed_array :: New (
Account_info :: New (
“Transaction1” .to_string (),
0,
1, // Transaction index
) ,,
Account_info :: New (
“Transaction2” .to_string (),
0,
1, // Transaction index
)
) ,,
)
);
// Send the Jito transaction as a package
Let Result = Solana_program :: Program :: Send_jito_transation (& Jito_Transazion);
`
MEV protection
--------
By default, Solana transactions do not provide mev protection (maximum ether). However, you can enable mev protection for your Jito transaction by adding the parameterMev_protation = Trueto the transactions data:
sol
let jito_transation = Solana_program :: transaction :: Builder :: New ()
.Set_ACACUNT_INFO (SENDER_ACCOUNT_INFO)
.Set_ACCount_info (Received_acount_info)
.set_tag (“jitotransation”)
.set_tag (“Bundleonly = True”)
.With_packed_bytes (
Solana_program :: Packed_array :: Array (
// Add jito transactions as individual bytes
Solana_program :: Packed_array :: New (
Account_info :: New (
“Transaction1” .to_string (),
0,
1, // Transaction index
) ,,
Account_info :: New (
“Transaction2” .to_string (),
0,
1, // Transaction index
)
) ,,
// Add MEV protection byte
Solana_program :: Packed_array :: New (
Account_info :: New (
“Mev_protation_bytes”.
Leave a Comment