Sensei ist eine neue Lightning -Knoten -Implementierung, die sich darauf konzentriert, das Onboarding -Erlebnis für Benutzer in Bitcoin zu lindern. Es wird mit dem Bitcoin Development Kit und dem Lightning Development Kit gebaut.
Sie benötigen eine Bitcoind -Instanz, um Sensei zu verwenden.
Ich empfehle, Nigiri zu verwenden, um alles vor Ort zum Laufen zu bringen.
Um aus der Quelle zu laufen, müssen Sie die folgenden Schritte ausführen:
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 unterstützt sqlite
, mysql
und postgres
-Datenbanken. Sie können konfigurieren, welche Datenbank verwendet werden soll, indem Sie eine DATABASE_URL
-Umgebung oder --database-url
Befehlszeilenargument angeben.
Für SQLite geben Sie den Dateinamen für die Datenbank nur an. Es wird im Sensei -Datenverzeichnis gespeichert.
Beispiel: --database-url=sensei.db
Sensei enthält eine docker-compose.yml
Datei, mit der diese Datenbanken automatisch für Sie lokal ausgeführt werden können. Fühlen Sie sich frei, diese zu verwenden oder nur die Anmeldeinformationen in jeder Datenbank zu ersetzen, die Sie bereits haben.
Docker -basierte Datenbanken starten: docker-compose up -d
Postgres Beispiel: --database-url=postgres://sensei:sensei@localhost:5432/sensei
mysql Beispiel:-- --database-url=mysql://sensei:sensei@localhost:3306/sensei
Um Ihre Änderungen live zu sehen, müssen Sie:
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 ist ein großartiges Werkzeug, um lokale Docker -Bilder von Bitcoind, Electrum, Esplora und vielem mehr auszuführen. Sobald es ausgeführt wird, können Sie die Bitcoind -Instanz verwenden, die es bietet, wenn Sie Ihren Sensei -Knoten starten.
Sobald Ihr Knoten eingerichtet ist, können Sie:
nigiri faucet <sensei_fund_address>
nigiri rpc getnewaddress "" "bech32"
erhaltennigiri rpc generatetoaddress 10 "<address_from_previous_command>"
Sie können ein benutzerdefiniertes Datenverzeichnis über das Flag - -data_dir -Flag übergeben, aber der Standard ist ein .sensei
-Verzeichnis in Ihrem Home -Verzeichnis in Betriebssystemen.
Home Directory wird mit der Dirs -Kiste abgerufen.
Plattform | Wert | Beispiel |
---|---|---|
Linux | $HOME | /home/alice/.Sensei |
macos | $HOME | /Users/alice/.Sensei |
Fenster | {FOLDERID_Profile} | C: Benutzer Alice.Sensei |
$HOME
, wenn es festgelegt und nicht leer ist.$HOME
nicht festgelegt oder leer ist, wird die Funktion getpwuid_r
verwendet, um das Home -Verzeichnis des aktuellen Benutzers zu bestimmen.getpwuid_r
einen Eintrag für die aktuelle Benutzer -ID fehlt oder das Feld Home -Verzeichnis leer ist, gibt die Funktion None
zurück. Diese Funktion ruft den Ordner des Benutzerprofils mit SHGetKnownFolderPath
ab.
Sensei erstellt im Datenverzeichnis eine Root config.json
-Datei. Dies sind Konfigurationen, die in allen Netzwerken angewendet werden.
Sensei erstellt auch Unterverzeichnisse für jedes Netzwerk (z. B. Mainnet, testNet, Regtest), mit dem Sie den Daemon instanziieren. Jedes Netzwerk -Unterverzeichnis verfügt über seine eigene config.json
-Datei.
Sensei fügt die netzwerkspezifische Konfiguration in die Stammkonfiguration zusammen, um die endgültige Konfiguration zu erstellen.
Dies bedeutet, dass jede auf Netzwerkebene festgelegte Konfiguration die Konfiguration auf der Stammebene überschreibt.
Einige der Konfigurationsoptionen können mit Befehlszeilenargumenten oder Umgebungsvariablen festgelegt werden.
Diese haben die höchste Vorrang und überschreiben die netzwerkspezifische Konfiguration.
Instanz> Netzwerk> Root
Bitte besuchen Sie die Dokumentations -Website, um Installation und Anweisungen zu erstellen.
Bitte schließen Sie sich unserer Discord -Community an, um alles zu diskutieren, was mit diesem Projekt zu tun hat.