Solana integration logic
Description of Solana network integration logic
The Solana network has several architectural nuances:
There is a limit on contract call depth (a maximum of 4 contracts in a sequential chain).
When initiating a transaction, it is necessary to provide a list of all contracts being called in the chain.
A rather strict transaction size limit
Due to these architectural nuances, as well as to simplify client integration, the Asterism team had to change their approach to implementing the internal structure of the protocol.
IMPORTANT! Due to the internal architecture of the Solana network and its operational logic, full integration requires modification of the basic client off-chain Asterism module. Contact us for more detailed information.
Basic protocol structure
Unlike the EVM implementation, the Solana network integration includes an additional program - the internal client program of the protocol. This program implements the logic for hashing transfer data, as well as additional internal logic. The client program must send data to this program to initiate the transfer.
The client off-chain module listens not to the client program but specifically to the internal Asterism client program, reacting only to events related to the specific client's logic.
Integration nuances
There are several aspects that distinguish Solana network integration from the integration of other types of networks:
In the Solana network, the trusted address is not the client program itself, but the PDA of the client sender (see more details here)
Due to transaction size limits, it is not possible to send a large amount of data to a program's function at once (e.g. setting up an NFT with a link to an image). It requires splitting the data across multiple transactions
It is impossible to bypass the off-chain relay module logic when conducting a transfer within a single network due to the limitation on the depth of the call chain. Keep in mind that such transfers will, in any case, go through the off-chain relay module
After deployment, more on-chain configurations are required before sending transfers (see more details here)
Keep in mind that implementing custom logic will not be possible without the involvement of the Asterism Protocol team due to the specific characteristics of sending transactions in this network
Last updated