Install dependencies:
$ yarnSet the SWAP_HOST_FEE_ADDRESS in .env file:
SWAP_HOST_FEE_ADDRESS='YOUR_WALLET_ADDRESS'
solana addressshould return your local wallet address
Start Solana local testnet:
$ solana-test-validatorDeploy the token-swap program. This requires you to deploy the program from the source:
Clone the solana-program-library repo:
$ git clone https://github.com/solana-labs/solana-program-library.gitEnter token-swap folder:
$ cd token-swapBuild token-swap:
$ cargo build-bpf
...
To deploy this program:
$ solana program deploy /Users/YOUR_PROJECT_PATH/solana-program-library/target/deploy/spl_token_swap.soDeploy to local testnet:
$ solana program deploy /Users/YOUR_PROJECT_PATH/solana-program-library/target/deploy/spl_token_swap.so
Program Id: 2Wh8iQvyKLHR1dCHsvKa9jJxnPEUfYLqC77y7NRxFBSgWe now get the Program Id from the deployment result. Next, we need to update the program ID of token-swap from the file ids.tsx:
...
{
name: "localnet",
swap: () => ({
current: {
pubkey: new PublicKey("2Wh8iQvyKLHR1dCHsvKa9jJxnPEUfYLqC77y7NRxFBSg"),
layout: TokenSwapLayout,
},
legacy: [],
}),
},
...Run the dev server:
$ yanr run startBefore adding liquidity from the UI, make sure you mint the token first and transfer to your testing account:
$ spl-token create-token
9pymQwovXDiAhWbnNdKjL4XUS9tip6hGfkrRNqrgJ4QX$ spl-token create-account 9pymQwovXDiAhWbnNdKjL4XUS9tip6hGfkrRNqrgJ4QX$ spl-token mint 9pymQwovXDiAhWbnNdKjL4XUS9tip6hGfkrRNqrgJ4QX 100$ spl-token transfer 9pymQwovXDiAhWbnNdKjL4XUS9tip6hGfkrRNqrgJ4QX 10 YOUR_ADDRESS --fund-recipient --allow-unfunded-recipientAny content produced by Solana, or developer resources that Solana provides, are for educational and inspiration purposes only. Solana does not encourage, induce or sanction the deployment of any such applications in violation of applicable laws or regulations.
App is using to enviroment variables that can be set before deployment:
SWAP_HOST_FEE_ADDRESSused to distribute fees to host of the application
To inject varibles to the app, set the SWAP_HOST_FEE_ADDRESS environment variable to the addresses of your SOL account.
You may want to put these in local environment files (e.g. .env.development.local, .env.production.local). See the documentation on environment variables for more information.
NOTE: remember to re-build your app before deploying for your referral addresses to be reflected.