Sensei est une nouvelle implémentation de nœud Lightning en mettant l'accent sur l'assouplissement de l'expérience d'intégration pour les utilisateurs nouveaux sur Bitcoin. Il est construit à l'aide du kit de développement Bitcoin et du kit de développement Lightning.
Vous aurez besoin d'une instance BitCoind pour utiliser Sensei.
Je recommande d'utiliser Nigiri pour que tout fonctionne localement.
Pour courir à partir de la source, vous devrez prendre les mesures suivantes:
git clone [email protected]:L2-Technology/sensei.git
cd sensei/web-admin && npm install && npm run build && cd ..
cargo run --bin senseid -- --network=regtest --bitcoind-rpc-host=localhost --bitcoind-rpc-port=18443 --bitcoind-rpc-username=admin1 --bitcoind-rpc-password=123 --database-url=sensei.db
http://localhost:5401/admin/nodes
Sensei prend en charge les bases de données sqlite
, mysql
et postgres
. Vous pouvez configurer la base de données à utiliser en spécifiant un argument de ligne de DATABASE_URL
Varilable ou --database-url
.
Pour SQLite, vous spécifiez simplement le nom de fichier à utiliser pour la base de données. Il sera enregistré dans le répertoire de données Sensei.
Exemple: --database-url=sensei.db
Sensei comprend un fichier docker-compose.yml
qui peut automatiquement exécuter ces bases de données pour vous localement. N'hésitez pas à les utiliser ou à remplacer les informations d'identification à la base de données dont vous disposez déjà.
Démarrer les bases de données basées sur Docker: docker-compose up -d
Postgres Exemple: --database-url=postgres://sensei:sensei@localhost:5432/sensei
mysql Exemple: --database-url=mysql://sensei:sensei@localhost:3306/sensei
Pour voir vos modifications en direct, vous devrez:
cargo run --bin senseid -- --network=regtest --bitcoind-rpc-host=localhost --bitcoind-rpc-port=18443 --bitcoind-rpc-username=admin1 --bitcoind-rpc-password=123 --allow-origins=http://localhost:3001
cd sensei/web-admin && npm install && npm run start
http://localhost:3001/admin/nodes
Nigiri est un excellent outil pour exécuter des images Docker locales de BitCoind, Electrum, Esplora et bien plus encore. Une fois qu'il est en cours d'exécution, vous pouvez utiliser l'instance BitCoind qu'il fournit lors du démarrage de votre nœud Sensei.
Une fois votre nœud configuré, vous pouvez:
nigiri faucet <sensei_fund_address>
nigiri rpc getnewaddress "" "bech32"
nigiri rpc generatetoaddress 10 "<address_from_previous_command>"
Vous pouvez transmettre un répertoire de données personnalisé à l'aide de - data_dir Flag, mais la valeur par défaut sera un répertoire .sensei
dans votre répertoire domestique de systèmes d'exploitation.
Le répertoire de la maison est récupéré à l'aide de la caisse de rédaction.
Plate-forme | Valeur | Exemple |
---|---|---|
Linux | $HOME | /home/alice/.sensei |
macos | $HOME | /Users/alice/.sensei |
Fenêtre | {FOLDERID_Profile} | C: Users Alice.Sensei |
$HOME
s'il est défini et non vide.$HOME
n'est pas défini ou vide, la fonction getpwuid_r
est utilisée pour déterminer le répertoire domestique de l'utilisateur actuel.getpwuid_r
n'a pas une entrée pour l'ID utilisateur actuel ou que le champ du répertoire domestique est vide, la fonction ne le renvoie None
. Cette fonction récupère le dossier de profil utilisateur à l'aide de SHGetKnownFolderPath
.
Sensei créera un fichier racine config.json
dans le répertoire de données. Ce sont des configurations qui seront appliquées sur tous les réseaux.
Sensei créera également des sous-répertoires pour chaque réseau (par exemple, MainNet, testnet, regtest) avec lequel vous instanciez le démon. Chaque sous-répertoire réseau aura son propre fichier config.json
.
Sensei fusionnera la configuration spécifique au réseau dans la configuration racine pour créer la configuration finale.
Cela signifie que toute configuration définie au niveau du réseau remplacera la configuration au niveau racine.
Certaines des options de configuration peuvent être définies à l'aide d'arguments de ligne de commande ou de variables d'environnement.
Ceux-ci auront la plus haute priorité et écraseront la configuration spécifique au réseau.
Instance> Réseau> Root
Veuillez visiter le site Web de la documentation pour les instructions d'installation et de démarrage.
Veuillez rejoindre notre communauté Discord pour discuter de tout ce qui concerne ce projet.