JSPM

@absconse/ibex-sdk

1.1.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 32
  • Score
    100M100P100Q88609F
  • License Apache-2.0

SDK optimisé pour l'intégration des services IBEX - Architecture hybride (API REST + WebSocket) avec 90% de réduction de requêtes

Package Exports

  • @absconse/ibex-sdk
  • @absconse/ibex-sdk/package.json

Readme

IBEX SDK

SDK React/TypeScript simplifié pour l'intégration des services IBEX

License: Apache 2.0 TypeScript React

npm version npm downloads

GitHub Stars

DocumentationDémarrage rapideExemplesSupport


Qu'est-ce que l'IBEX SDK ?

L'IBEX SDK est une bibliothèque JavaScript conçue pour intégrer facilement les fonctionnalités IBEX dans vos applications React. Il simplifie l'authentification, la gestion des portefeuilles, les transactions et toutes les interactions avec l'écosystème IBEX.

Pourquoi utiliser l'IBEX SDK ?

Simplicité avant tout

Un seul hook useIbex() pour accéder à toutes les fonctionnalités, au lieu de gérer des dizaines d'APIs différentes.

Zero Configuration

Détection automatique de l'environnement et configuration intelligente des paramètres nécessaires.

Sécurité maximale

WebAuthn (passkeys) pour une authentification sans mot de passe, plus sécurisée que les méthodes traditionnelles.

TypeScript natif

Types stricts pour une meilleure expérience de développement et moins d'erreurs en production.


Fonctionnalités principales

Authentification moderne

WebAuthn Passkeys No Password

  • Passkeys : Connexion par PIN, biométrie ou clés de sécurité
  • Sessions persistantes : Restauration automatique de la session
  • Sécurité maximale : Pas de mots de passe, pas de risques de phishing

Gestion financière

EURe IBAN Crypto

  • Portefeuilles numériques : Création et gestion automatique
  • Transactions EURe : Envoi et réception de stablecoins européens
  • Retraits IBAN : Conversion crypto vers compte bancaire traditionnel
  • Historique complet : Toutes vos transactions et opérations
  • Mises à jour temps réel : WebSocket pour données en direct

Interface développeur

DX IntelliSense Type Safe

  • Hook unique : useIbex() pour tout faire
  • Architecture hybride : API REST (initial) + WebSocket (temps réel)
  • Données prêtes : Plus besoin de formatage manuel
  • Gestion d'erreurs : Système d'erreurs unifié et clair
  • Types stricts : IntelliSense complet et validation
  • Temps réel : WebSocket pour mises à jour automatiques

Installation

# Avec npm
npm install @absconse/ibex-sdk

# Avec yarn
yarn add @absconse/ibex-sdk

# Avec pnpm
pnpm add @absconse/ibex-sdk

Démarrage rapide

Configuration minimale

import { IbexProvider, useIbex } from '@absconse/ibex-sdk';

const config = {
  baseURL: 'https://api.ibexwallet.org',
  domain: 'votre-domaine.com',
};

function App() {
  return (
    <IbexProvider config={config}>
      <Dashboard />
    </IbexProvider>
  );
}

Utilisation du hook

function Dashboard() {
  const {
    user, // Données utilisateur
    balance, // Solde (nombre simple)
    transactions, // Liste des transactions
    signIn, // Connexion
    send, // Envoyer de l'argent
    isLoading, // État de chargement
    error, // Erreurs
  } = useIbex();

  if (isLoading) return <div>Chargement...</div>;
  if (error) return <div>Erreur: {error}</div>;
  if (!user) return <button onClick={signIn}>Se connecter</button>;

  return (
    <div>
      <h1>Bonjour {user.email || 'Utilisateur'}</h1>
      <p>
        Solde:{' '}
        {balance.toLocaleString('fr-FR', {
          style: 'currency',
          currency: 'EUR',
        })}
      </p>
      {user.iban && <p>IBAN: {user.iban.status}</p>}
      <button onClick={() => send(100, '0x...')}>Envoyer 100€</button>
    </div>
  );
}

Configuration

Configuration de base

const config = {
  baseURL: 'https://api.ibexwallet.org', // URL de l'API IBEX
  domain: 'votre-domaine.com', // Votre domaine
};

Configuration avancée

const config = {
  baseURL: 'https://api.ibexwallet.org',
  domain: 'votre-domaine.com',
  timeout: 30000, // Timeout des requêtes (ms)
  retries: 3, // Nombre de tentatives
  debug: true, // Mode debug
};

Exemples d'utilisation

Authentification

const { signIn, signUp, logout, user } = useIbex();

// Connexion
await signIn();

// Inscription (première fois)
await signUp();

// Déconnexion
await logout();

Transactions

const { send, receive, withdraw } = useIbex();

// Envoyer de l'argent
await send(100, '0x742d35Cc6634C0532925a3b8D0C0E1c4C5F2A6f');

// Obtenir l'adresse de réception
const address = await receive();

// Retirer vers IBAN
await withdraw(50, 'FR7612345678901234567890123');

Affichage des données

const { balance, transactions, user } = useIbex();

// Solde formaté
const formattedBalance = balance.toLocaleString('fr-FR', {
  style: 'currency',
  currency: 'EUR',
});

// Transactions récentes
const recentTransactions = transactions.slice(0, 5);

// Informations utilisateur
console.log(user.email, user.kyc.status);

Sécurité

WebAuthn et Passkeys

FIDO2 W3C

L'IBEX SDK utilise WebAuthn, le standard W3C pour l'authentification sans mot de passe :

  • Authentificateurs intégrés : PIN, Touch ID, Face ID, Windows Hello
  • Clés de sécurité : Support des clés physiques (YubiKey, etc.)
  • Protection anti-phishing : Impossible d'usurper l'identité
  • Chiffrement local : Les clés restent sur l'appareil

Bonnes pratiques

  1. Toujours utiliser HTTPS en production
  2. Valider les entrées utilisateur avant les transactions
  3. Gérer les erreurs avec le système d'erreurs du SDK
  4. Tester sur différents appareils pour l'authentification

Support des plateformes

Chrome Firefox Safari Edge

Appareils mobiles

iOS Android

  • iOS : 14+ avec Safari (Touch ID, Face ID)
  • Android : 8+ avec Chrome (empreinte digitale, PIN)

Performance

Optimisations automatiques

Performance Cache Bundle

  • Architecture hybride : API REST (1 requête initiale) + WebSocket (temps réel)
  • Cache intelligent : Évite les requêtes inutiles
  • WebSocket optimisé : Mises à jour automatiques sans polling
  • Minimum de requêtes : Seulement les opérations initiales via API

Monitoring

const { error, isLoading } = useIbex();

// Surveillance des erreurs
useEffect(() => {
  if (error) {
    console.error('Erreur IBEX:', error);
    // Envoyer à votre service de monitoring
  }
}, [error]);

Documentation complète

Guide Description
Guide de démarrage Installation et première utilisation
Guide des hooks Documentation détaillée du hook useIbex
Types TypeScript Référence complète des types
Authentification Guide WebAuthn et passkeys
Configuration Options de configuration
Exemples Exemples pratiques et cas d'usage
FAQ Questions fréquentes et dépannage
API Reference Documentation technique complète

Contribution

Contributions Welcome PRs Welcome

Nous accueillons les contributions ! Consultez notre guide de contribution pour commencer.

Développement local

git clone https://github.com/AbsconseOfficiel/ibex-sdk.git
cd ibex-sdk
npm install
npm run dev

Licence

License: Apache 2.0

Apache License 2.0 - voir LICENSE pour plus de détails.


Support

Canal Lien
Documentation docs/
Issues GitHub Signaler un bug
Discussions Poser une question

Changelog

Voir CHANGELOG.md pour l'historique des versions.


Si ce projet vous aide, n'hésitez pas à lui donner une étoile !

Prêt à commencer ?

Suivez notre guide de démarrage pour intégrer l'IBEX SDK dans votre application en quelques minutes !


🔗 Propulsé par Dylan Enjolvin
📄 Sous licence Apache 2.0