Phantom is a digital wallet which makes it easy to store, send, receive, collect, and swap tokens on Solana, Ethereum and Polygon.
To use Phantom with expand.network SDK, follow these steps:-
Step 1: Installation
User needs to install the expand.network SDK using the following command:
// Sign the transaction locally using sdk clientconstsignedTx=awaitwallet.signTransaction(preparedTx);console.log(signedTx);
Step 5: Send Transaction
// Send the signed transactionconsttx=awaitwallet.sendTransaction(signedTx);console.log(tx);
Sample code to approve a fungible token using Phantom:
const { WalletPhantom,prepareTransaction } =require('expand-network');constxApiKey='YOUR_API_KEY'; //Replace this with your API keyasyncfunctionmain() {constwallet=newWalletPhantom({ privateKey:'YOUR_PRIVATE_KEY', xApiKey:xApiKey});constpreparedTx=awaitprepareTransaction('https://api.expand.network/fungibletoken/approve', {"from":"OWNER_WALLET_ADDRESS","tokenAddress":"0x6B175474E89094C44Da98b954EedeAC495271d0F","amount":"1000000000000","to":"SPENDER_WALLET_ADDRESS","gas":"100000","chainId":"1",// Replace with other chainId to toggle between chains"xApiKey":xApiKey });constsignedTx=awaitwallet.signTransaction(preparedTx);console.log(signedTx);consttx=awaitwallet.sendTransaction(signedTx);console.log("Transaction Pending....",tx.data);}main();