Zebec Protocol
Search…
⌃K

Creating clients

Currently, there are two clients:
  1. 1.
    Evm Bridge client
  2. 2.
    Solana Bridge client
Evm bridge client instances can be created in following way:
const sourceChain = CHAIN_ID_BSC;
const targetChain = CHAIN_ID_SOLANA;
​
const ethClient = new ZebecEthBridgeClient(
BSC_ZEBEC_BRIDGE_ADDRESS,
signer,
sourceChain
);
Solana bridge client instances can be created in following way:
const connection = new Connection(SOLANA_HOST);
const wallet = new anchor.Wallet(keypair);
const achorProvider = new anchor.AnchorProvider(
connection,
wallet,
AnchorProvider.defaultOptions()
);
const wormholeConfig = {
coreBridgeProgram: new PublicKey(SOL_BRIDGE_ADDRESS),
tokenBridgeProgram: new PublicKey(SOL_TOKEN_BRIDGE_ADDRESS),
};
const FEE_RECEIVER = "<solana pubkey>"
const zebecInstructions = new ZebecInstructions(anchorProvider);
const bridgeProgram = ZebecSolBridge__factory.getProgram(new PublicKey(SOL_ZEBEC_BRIDGE_ADDRESS), anchorProvider);
const bridgeTransactions = new ZebecBridgeTransactions(bridgeProgram);
​
const solanaClient = new ZebecSolBridgeClient(
anchorProvider,
bridgeProgram,
bridgeTransactions,
zebecInstructions,
wormholeConfig,
FEE_RECEIVER,
);
Here, FEE_RECEIVER is solana pubkey address which receives fee for provider streaming services. If you're using this sdk for providing stream service to other, then you must have initialzed before streaming.