연결 중…
연결 중…
전체 보기
크립토메이지
Telegram · @cryptocurrencymage

bulk 래퍼에 추가 프롬프트

게시
2026.03.17 16:17
조회
697
포워드
13
이미지
1장

테넷이니까 페이퍼 트레이딩 돌리기 딱일듯?

⏺ Bulk Trade 거래소 추가 프롬프트

multi-perp-dex 봇에 Bulk Trade (https://bulk.trade) 테스트넷을 추가해줘.

#핵심 정보

#구현 방식
bulk-keychain이 Python 3.14에서 안 되니까 nado/hotstuff처럼 격리 venv + subprocess bridge로 구현해.

1. bulk_venv 생성 (Python 3.11) → bulk-keychain, aiohttp, pyyaml 설치
2. strategies/exchange_bridge.py에 BulkBridge 클래스 추가
3. mpdex/factory.py에 bulk 등록 (_load, create_exchange, SYMBOL_FORMATS)
4. strategies/multi_runner.py ISOLATED_EXCHANGES에 "bulk": "bulk_venv" 추가
5. config.yaml에 bulk 설정 추가 (isolated: true, venv_path: bulk_venv)

#API 엔드포인트

  • GET /exchangeInfo → 마켓 목록
  • GET /ticker/{symbol} → markPrice
  • POST /account {"type":"fullAccount","user":"pubkey"} → 잔고(margin.totalBalance),

포지션(positions[].price/size/unrealizedPnl)

  • POST /account {"type":"openOrders","user":"pubkey"} → 미체결
  • POST /order → 주문/취소/레버리지 (bulk-keychain으로 서명)

#서명 패턴 (bulk-keychain)
python
from bulk_keychain import Keypair, Signer
kp = Keypair.from_base58("시크릿키") # 또는 Keypair.from_bytes(hex_bytes)
signer = Signer(kp)
signed = signer.sign({"type":"order","symbol":"BTC-USD","is_buy":True,"price":100000.0,"size":0.001,"reduce_only":Fals
e,"order_type":{"type":"limit","tif":"GTC"}})
# 시장가는 tif:"IOC" + 슬리피지 가격
# 취소: signer.sign({"type":"cancel_all","symbols":["BTC-USD"]})
# 레버리지: signer.sign_user_settings([("ETH-USD",15.0)]) → actions의 m을 list→dict 변환 필요
# 파우셋: signer.sign_faucet()

config.yaml

exchanges:
bulk:
enabled: true
isolated: true
keys:
private_key: 'base58_시크릿키'
venv_path: bulk_venv
limit_order:
exchange_flags:
bulk: true

키는 Phantom 등 Solana 지갑에서 export한 base58 시크릿키 사용. 0x EVM키도 되지만 사이트 지갑과 pubkey가 달라짐.

조회697포워드13텔레그램에서 보기