localnet.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. source scripts/common.sh
  4. DEX_PID="9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"
  5. PAYER_FILEPATH="$HOME/.config/solana/id.json"
  6. CRANK="/home/armaniferrante/Documents/code/src/github.com/project-serum/serum-dex/target/debug/crank"
  7. VALIDATOR_OUT="./validator-stdout.txt"
  8. CRANK_LOGS="crank-logs.txt"
  9. CRANK_STDOUT="crank-stdout.txt"
  10. TRADE_BOT_STDOUT="trade-bot-stdout.txt"
  11. FEES_STDOUT="fees.txt"
  12. main () {
  13. echo "Cleaning old output files..."
  14. rm -rf test-ledger
  15. rm -f $TRADE_BOT_STDOUT
  16. rm -f $FEES_STDOUT
  17. rm -f $VALIDATOR_OUT
  18. rm -f $CRANK_LOGS && touch $CRANK_LOGS
  19. echo "Starting local network..."
  20. solana-test-validator \
  21. --bpf-program 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin ./deps/serum-dex/dex/target/deploy/serum_dex.so \
  22. --bpf-program 22Y43yTVxuUkoRKdm9thyRhQ3SdgQS7c7kB6UNCiaczD ./deps/swap/target/deploy/swap.so \
  23. --bpf-program GrAkKfEpTKQuVHG2Y97Y2FF4i7y7Q5AHLK94JBy7Y5yv ./deps/stake/target/deploy/registry.so \
  24. --bpf-program 6ebQNeTPZ1j7k3TtkCCtEPRvG7GQsucQrZ7sSEDQi9Ks ./deps/stake/target/deploy/lockup.so \
  25. --bpf-program 5CHQcwNhkFiFXXM8HakHi8cB7AKP3M3GPdEBDeRJBWQq ./target/deploy/cfo.so > $VALIDATOR_OUT &
  26. sleep 2
  27. echo "Listing market..."
  28. market=$(./scripts/list-market.js | jq -r .market)
  29. sleep 2
  30. echo "Market listed $market"
  31. echo "Running crank..."
  32. $CRANK localnet consume-events \
  33. -c $market \
  34. -d $DEX_PID -e 5 \
  35. --log-directory $CRANK_LOGS \
  36. --market $market \
  37. --num-workers 1 \
  38. --payer $PAYER_FILEPATH \
  39. --pc-wallet $market > $CRANK_STDOUT &
  40. echo "Running trade bot..."
  41. ./scripts/trade-bot.js $market > $TRADE_BOT_STDOUT &
  42. echo "Running fees listener..."
  43. ./scripts/fees.js $market > $FEES_STDOUT &
  44. echo "Localnet running..."
  45. echo "Ctl-c to exit."
  46. wait
  47. }
  48. main