Dojima Network
DojimaNetwork
Published in
4 min readNov 27, 2022

--

DOJIMA — SOLANA CONNECTION

The aim of the Dojima Network is to build a blockchain infrastructure that will incorporate both the functionalities of a multi-chain and cross-chain architecture into the network. Since the idea of the Dojima Network was conceived, the primary focus of the founders and the development team is to put out a blockchain infrastructure project that will promote the interoperability functions that the crypto space has been longing for.



Since the inception of the Dojima project, the developers have been working with the founders at the backend to achieve this feat. A lot of effort is currently being put in place to roll out this cross-chain project. So far, major chains have been worked on and deployed on the Dojima Network. These blockchains are ready to be operated on the network, just awaiting the testnet for final review and bug fixing (if any) before the final mainnet launch. One of the blockchains that we have deployed onto the Dojima cross-chain network is the Solana blockchain.



Solana is a decentralized blockchain built to enable scalable, user-friendly apps for the world. The Solana blockchain is prominent for its faster transactions with lower transaction fees. These features have endeared the Solana blockchain to a lot of developers and users alike, hence the various DApps that are built on the Solana network.



Below is a structural overview of the processes involved in the Solana transaction on the Dojima network.

HOW WE ARE DOING IT

At Dojima network, we understand the differential nature of both the EVM and non-EVM chains, and as such, our fundamental aim is to bring the interoperability functionalities to even non-EVM chains without any interference from a central party, thereby stimulating a complete decentralization of the network.



To achieve this, the developers at Dojima Network have developed and deployed smart contracts/programs on Solana using an Anchor framework, which on its part facilitates the transactions to and from the Dojima network, despite being built on Solana and having the speed and cost-effectiveness that go along with it, it will be fully usable from Ethereum, this means that existing DeFi projects can access Dojima features and liquidity directly from their native blockchain creating a seamless integration between the current infrastructure and Dojima Network.



On the Dojima-Solana cross-chain program, several parameters have been created to serve different purposes. In the case of each inbound transaction, we pass some parameters as inputs that help the network identify Dojima transactions from the pool of Solana transactions. Also, we pass Dojima vault keys as a parameter to filter the transactions and also pass a memo as a parameter which tells us what kind of transaction is being requested on the Dojima network, either transaction that requires adding liquidity or transactions that involves swapping between different assets.

NARADA AND HERMES CHAIN



Once the transaction is successful, the Dojima block scanner called Narada identifies the transaction and processes it further. Both the Narada and the Hermes chain work closely to process transactions on the Dojima network. On the network, each validator node has a Narada service running whose function is to read the transaction from the chain, in this case, the Solana node, and when there is any inbound transaction to the vault pub keys, it records the transaction and converts it into TxIn items and submits it to the Hermes Chain for further processing.

The TxIn item has the following parameters:



type TxInItem struct {

BlockHeight int64

Tx string

Memo string

Sender string

To string

Coins Coins

Gas Gas

ObservedVaultPubKey PubKey

}



Upon receiving the TxIn item, the Hermes chain processes the transaction and waits for the consensus. Once the transaction is successful, it moves to a finalized state.



When the Hermes chain receives the transaction, it processes it accordingly and performs the logic which includes state changes. It outputs a TXOut item which is then passed on to the Signer.



The TXOut item has the following parameters:



type TxOutItem struct {

Chain Chain

To Address Address

VaultPubKey PubKey

Coins Coins

Memo string

MaxGas Gas

GasRate int64

InHash TxID

OutHash TxID

}



*The InHash is the transaction that initiated the TxOut item and OutHash is the transaction that will conclude the accounting process.





For more information and updates, be sure to follow our official channels on 👇

Website | Twitter | TG Ann | TG Chat | Discord l Medium | Linkedin | YouTube

--

--