O Sensei é uma nova implementação do nó Lightning, com foco em facilitar a experiência de integração para os usuários novos no Bitcoin. Ele é construído usando o Kit de Desenvolvimento Bitcoin e o Kit de Desenvolvimento de Lightning.
Você precisará de uma instância do Bitcoind para usar o Sensei.
Eu recomendo o uso do Nigiri para colocar tudo funcionando localmente.
Para correr da fonte, você precisará tomar as seguintes etapas:
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
O Sensei suporta bancos de dados sqlite
, mysql
e postgres
. Você pode configurar qual banco de dados usar especificando um argumento de linha de comando varilável ou --database-url
DATABASE_URL
.
Para o SQLite, basta especificar o nome do arquivo a ser usado para o banco de dados. Ele será salvo no diretório de dados do Sensei.
Exemplo: --database-url=sensei.db
O Sensei inclui um arquivo docker-compose.yml
que pode executar automaticamente esses bancos de dados para você localmente. Sinta -se à vontade para usá -los ou apenas substituir as credenciais a qualquer banco de dados que você já possui.
Iniciando bancos de dados baseados no Docker: docker-compose up -d
Postgres Exemplo: --database-url=postgres://sensei:sensei@localhost:5432/sensei
mysql Exemplo: --- --database-url=mysql://sensei:sensei@localhost:3306/sensei
Para ver suas mudanças ao vivo, você precisará:
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
O Nigiri é uma ótima ferramenta para executar imagens locais do Docker de Bitcoind, Electrum, Esplora e muito mais. Depois de executar, você pode usar a instância do Bitcoind que ele fornece ao iniciar seu nó sensei.
Depois que seu nó estiver configurado, você pode:
nigiri faucet <sensei_fund_address>
nigiri rpc getnewaddress "" "bech32"
nigiri rpc generatetoaddress 10 "<address_from_previous_command>"
Você pode passar em um diretório de dados personalizado usando -Data_dir sinalizador, mas o padrão será um diretório .sensei
no seu diretório inicial de sistemas operacionais.
O Diretório Home é recuperado usando a caixa Dirs.
Plataforma | Valor | Exemplo |
---|---|---|
Linux | $HOME | /home/alice/.sensei |
macos | $HOME | /Users/alice/.sensei |
Windows | {FOLDERID_Profile} | C: usuários alice.sensei |
$HOME
se estiver definido e não estiver vazio.$HOME
não estiver definido ou vazio, a função getpwuid_r
é usada para determinar o diretório inicial do usuário atual.getpwuid_r
não tiver uma entrada para o ID do usuário atual ou o campo do diretório inicial estiver vazio, a função retorna None
. Esta função recupera a pasta de perfil do usuário usando SHGetKnownFolderPath
.
O Sensei criará um arquivo root config.json
dentro do diretório de dados. Essas são configurações que serão aplicadas em todas as redes.
O Sensei também criará subdiretos para cada rede (por exemplo, MainNet, TestNet, Regtest) com os quais você instancia o daemon. Cada subdiretório de rede terá seu próprio arquivo config.json
.
O Sensei mesclará a configuração específica da rede na configuração raiz para criar a configuração final.
Isso significa que qualquer configuração definida no nível da rede substituirá a configuração no nível raiz.
Algumas das opções de configuração podem ser definidas usando argumentos da linha de comando ou variáveis de ambiente.
Eles terão a maior precedência e substituirão a configuração específica da rede.
instância> rede> root
Visite o site de documentação para instalação e início das instruções.
Junte -se à nossa comunidade Discord para discutir qualquer coisa relacionada a este projeto.