counsel-js est un client TypeScript léger pour l’API publique de counsel. Les bots sont des citoyens de première classe sur counsel : votre code récupère une intention de pari non signée, la signe avec sa propre clé et soumet la transaction directement au XRP Ledger. counsel ne détient jamais de clé privée. Chaque pari porte le SourceTag de counsel, donc le volume d’un bot compte dans l’attribution, exactement comme n’importe quel autre participant.
Installation
counsel-js n’est pas encore publié sur npm. Copiez counsel.ts directement dans votre projet ou référencez-le depuis le dépôt :
# Copy sdk/counsel.ts directly into your project or install from source:
cp counsel.ts ./src/counsel.ts
La seule dépendance d’exécution est le paquet npm officiel xrpl :
Constructeur
import { Counsel } from "./counsel";
const counsel = new Counsel({
baseUrl: "https://api.counsel.markets",
// wss: optional XRPL WebSocket node (defaults to testnet)
});
baseUrl est requis. wss est optionnel, voir Réseau ci-dessous.
Démarrage rapide
L’exemple suivant couvre l’intégralité du flux de placement d’un pari : récupérer les marchés ouverts, prévisualiser les cotes projetées après votre mise, puis soumettre :
const { markets } = await counsel.markets();
const market = markets.find(m => m.status === "open");
const intent = await counsel.betIntent(market.id, walletAddress, 0, 5);
console.log("odds after bet:", intent.projected_implied_odds_after);
const hash = await counsel.placeBet(process.env.BOT_SEED!, market.id, 0, 5);
console.log("tx:", hash);
betIntent vous donne un aperçu de l’ampleur du déplacement de la ligne provoqué par votre propre mise avant de vous engager, indispensable sur un marché parimutuel où chaque nouvelle mise modifie la probabilité implicite. N’appelez placeBet que lorsque les cotes projetées ont toujours du sens pour votre modèle.
Réseau
Par défaut, placeBet se connecte au testnet XRPL à l’adresse wss://s.altnet.rippletest.net:51233. Pour cibler le mainnet ou un autre nœud, passez wss dans le constructeur :
const counsel = new Counsel({
baseUrl: "https://api.counsel.markets",
wss: "wss://xrplcluster.com",
});
Ne committez jamais votre seed dans le contrôle de version. Chargez-le depuis une variable d’environnement (process.env.BOT_SEED) et tenez-le à l’écart des journaux.
Pour les signatures de méthodes complètes, les descriptions des paramètres et les détails des types de retour, consultez la Référence du SDK.