Travaux en cours

Travaux en cours : nous construisons ce site en vue du MainNet. Les détails vont évoluer.

Ce site est encore en construction

ZooBC se construit au grand jour. Ce que vous voyez ici est actuel et honnête, mais pas terminé : lisez-le comme l'état des choses aujourd'hui, et non comme une version définitive.

D'ici le MainNet, des choses vont changer : formulations, structure, images et chiffres. Certaines pages sont provisoires.

L'écosystème ZooBC élargi arrive par étapes. Le portefeuille, l'explorateur et les canaux communautaires sont mis en ligne à mesure que le MainNet approche, et ce site grandit avec eux.

Si quelque chose vous semble erroné, cassé ou trompeur, dites-le-nous. Un retour aujourd'hui compte plus pour nous qu'un lancement soigné plus tard.

ZOOBC / MANUEL

Manuel de la CLI ZooBC

zoobc-cli, un seul binaire, toutes les transactions

Un seul outil en ligne de commande qui construit, signe et soumet toutes les transactions ZooBC : 50 commandes, du simple send-zbc au multisig, à l'enregistrement de nœuds, à la plateforme d'échange, au stockage sur la chaîne et à la gouvernance. Conçu pour les machines par défaut (JSON en entrée, JSON en sortie), avec un mode interactif pour les humains.

01L'obtenir

Téléchargez la version Linux x86_64, décompressez-la et lancez-la. Aucune installation, aucune dépendance.

⬇ Télécharger zoobc-cli (Linux x86_64)

# unpack and put it on your PATH
tar xzf zoobc-cli-linux-x86_64.tar.gz
sudo mv zoobc-cli /usr/local/bin/

# point it at any node or gateway (default: http://localhost:8080)
# https://zoobc.network is the public TestNet gateway, not MainNet
zoobc-cli list --api https://zoobc.network

D'autres plateformes arrivent ; pour l'instant, la version disponible est Ubuntu / Linux x86_64.

02Trois façons de l'exécuter

Par défaut : JSON en entrée, JSON en sortie

Passez les paramètres comme arguments positionnels ; vous recevez un résultat JSON. C'est le mode qu'appellent les autres applications et scripts. Le premier paramètre est toujours la clé privée de l'expéditeur.

zoobc-cli send-zbc <privkey> ZBC_4HFG43GR_… 100000000 --api $API
→ {"transaction_hash":"a5f1…","amount":100000000, …}

Interactif, --verbose

Vous demande chaque champ un par un, puis affiche un résultat lisible. Idéal pour les opérations ponctuelles.

zoobc-cli issue-token --verbose --api $API
Sender private key: … · Symbol: … · Name: … · Decimals: …

JSON redirigé, --json-input

Lit les paramètres sous forme d'objet JSON sur stdin ; les clés sont exactement celles que liste help <cmd>.

echo '{"sender_privkey":"…","recipient":"ZBC_…","amount":"100000000"}' \
  | zoobc-cli send-zbc --json-input --api $API

03Découvrir quoi envoyer

Deux commandes intégrées vous disent tout, inutile de lire le code source.

zoobc-cli list              # every command, grouped by category
zoobc-cli help multisig     # the JSON fields for ONE command

help <cmd> affiche la clé de chaque champ, s'il est obligatoire, sa valeur par défaut et un exemple d'objet JSON prêt à modifier :

multisig, N-of-M multisig SendZBC (inner tx + participant signatures)  (tx type 5)
  sender_privkey    (required) Sender private key (64 hex)
  participants      (required) comma-separated participant ZBC addresses
  min_signatures    (required) required signatures (N of M)
  nonce             (optional) multisig account nonce  [default: 0]
  signer_privkeys   (required) participant keys that sign now
  recipient         (required) inner SendZBC recipient address
  amount            (required) inner SendZBC amount (atomic units)
  inner_fee         (optional) inner SendZBC fee (atomic)  [default: 10000000]
Sample: {"sender_privkey":"…","participants":"…", …}

04Options et conventions courantes

--api <url>Point de terminaison du nœud ou de la passerelle. Par défaut : http://localhost:8080. Indiquez https://zoobc.network pour le TestNet public. Il s'agit du réseau de test en service, pas du MainNet.
--fee <n>Remplace les frais de transaction (en ZBC atomiques). Omettez cette option pour utiliser la valeur par défaut / le minimum calculé selon la taille.
--verboseSaisie interactive + sortie lisible (voir le mode 2).
--json-inputLit les paramètres sous forme d'objet JSON sur stdin (mode 3).

Tous les montants et les prix sont des entiers atomiques (ZBC ×1e8 ; montants de jetons ×10^décimales ; prix des ordres ×1e8). Les adresses peuvent être une chaîne ZBC_… complète ou en hexadécimal. L'outil ne plante jamais sur une entrée invalide : il renvoie un objet d'erreur JSON (ou une erreur textuelle en mode --verbose).

05Exemples commentés

# transfer a colored token
zoobc-cli transfer-token $KEY ZBC_6FINNB6J_… <token_id> 500 --api $API

# register a validator node (owner signs; node key supplies the pubkey; PoOwnership is built for you)
zoobc-cli register-node $OWNER_KEY $NODE_KEY 100000000000 --api $API

# open an N-of-M multisig and sign with your key (others co-sign later)
zoobc-cli multisig $KEY "ZBC_A…,ZBC_B…,ZBC_C…" 2 0 "$KEY" ZBC_A… 100000000 5000000 --api $API

# schedule a vesting/recurring payment: 1 ZBC per fire, 12 fires, monthly
zoobc-cli scheduled-transfer $KEY ZBC_… 0 100000000 2592000 12 0 0 0 0 --api $API

06Les 50 commandes

La structure exacte, octet par octet, du corps de chaque transaction figure dans le Manuel des transactions. Lancez zoobc-cli help <cmd> pour obtenir les champs d'une commande.

Valeur et jetons
send-zbcEnvoyer des ZBC à une adresse
liquid-paymentVerser des ZBC en continu dans le temps (déblocage progressif)
liquid-payment-stopArrêter un paiement liquide (règlement au prorata)
transfer-tokenTransférer un jeton coloré détenu
issue-tokenÉmettre un jeton coloré
mint-tokenFrapper de nouvelles unités d'un jeton frappable
burn-tokenBrûler un jeton (récupérer sa contrepartie s'il est remboursable)
finance-tokenRéapprovisionner le financement de survie d'un jeton
Échange et place de marché
market-createOuvrir un marché à carnet d'ordres (base,cotation)
order-placePasser un ordre à cours limité / au marché
order-cancelAnnuler un ordre en attente
swap-createCréer une offre d'échange atomique
swap-acceptAccepter (exécuter) une offre d'échange
swap-cancelAnnuler une offre d'échange ouverte
Applications
app-createCréer une application (2 joueurs ou solo contre la banque)
app-joinRejoindre une application ouverte
app-moveSoumettre un coup
app-resignAbandonner une application
app-claimRéclamer une application expirée
app-settleRégler une application à canal d'état (rejeu des bons signés)
Stockage et données
store-fileAncrer un fichier de stockage décentralisé (manifeste + loyer)
add-prepaid-storageFinancer le loyer de stockage d'un compte
setup-datasetDéfinir une propriété→valeur du jeu de données d'un compte
remove-datasetSupprimer une propriété du jeu de données d'un compte
delete-datasetSupprimer un objet de jeu de données (rembourse son dépôt)
set-dataset-policyDéfinir la politique de gestion d'un objet de jeu de données
transfer-datasetProposer le transfert d'un objet de jeu de données
accept-datasetAccepter un transfert de jeu de données en attente
Compte : séquestre · planificateur · déclencheurs · multisig · vote
multisigSendZBC multisig N-sur-M (tx interne + signatures)
escrow-requestCréer une demande de séquestre à l'initiative du destinataire
approve-escrowApprouver / rejeter / faire expirer un séquestre
scheduled-transferTransferts à déblocage progressif / récurrents sur minuterie
cancel-scheduleAnnuler un transfert planifié en attente
reassign-scheduleRediriger une planification vers un nouveau destinataire
create-triggerPlanifier un SendZBC futur (keeper/oracle)
cancel-triggerAnnuler un déclencheur en attente (remboursement)
attest-eventAttester un événement externe (nœud oracle)
fee-vote-commitPhase d'engagement du vote sur le barème des frais
fee-vote-revealPhase de révélation du vote sur le barème des frais
Opérateur de nœud
register-nodeEnregistrer un nœud validateur (le propriétaire signe ; construit ProofOfOwnership)
update-nodeMettre à jour le solde bloqué / l'enregistrement d'un nœud
remove-nodeRetirer un nœud de l'ensemble des validateurs
claim-nodeRécupérer un enregistrement précédemment retiré
Opérateur de passerelle
register-gatewayEnregistrer une passerelle (clé + domaine + url, bloque la mise)
unregister-gatewayRetirer une passerelle ; rembourse la mise
gateway-heartbeatProuver qu'une passerelle est active, signé par la clé de la passerelle (GATEWAY), mais n'importe quel expéditeur peut le relayer
Gouvernance (autorité de publication)
register-releasePublier une version binaire signée
revoke-releaseRévoquer une version publiée
release-authority-proposeProposer une nouvelle autorité de publication
release-authority-acceptAccepter une passation de l'autorité de publication
Fait partie des manuels ZooBC. Consultez le Manuel des transactions pour les structures en octets · ouvrez le portefeuille ou l'explorateur · retour à l'accueil de la passerelle.