Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions florestad/docs/tutorial(EN).md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
## Tutorial

### Introduction

This program is a small node implementation with an integrated Electrum Server. It behaves similarly to a Bitcoin Core + Electrum Personal Server setup, but with some key differences.

- Node and Electrum Server are in the same binary, making the process simpler and less error-prone.
- The full node uses a new technology called `Utreexo` to reduce resource consumption, allowing you to run the node with less than 1GB of disk and RAM.
- Unlike EPS, this Electrum Server supports multiple simultaneous connections.

### Usage

There are two ways to obtain the executable. You can compile from source code or download the pre-compiled binary from Github. For instructions on how to compile the source code, [see below](#compiling). Information on how to run it is [here](#running)

### Compiling

To compile, you need the Rust toolchain and Cargo, more information [here](https://www.rust-lang.org/).
You can obtain the source code by downloading from Github or cloning with

```bash
git clone https://github.com/vinteumorg/Floresta.git
```

Navigate into the folder with

```bash
cd Floresta/
```

compile with:

```bash
cargo build --release
```
if everything is ok, it will compile the program and save the executable in `./target/release/`.

### Running

Before running it for the first time, you need to extract the xpub from your wallet. In Electrum, just go to the "Wallet" menu and click on "Information", the xpub will appear in a large text box.

Once you have the Extended Public Key in hand, copy the configuration file `config.toml.sample` to `config.toml` and edit it by inserting the xpub in the appropriate field. You can insert infinite xpubs. Loose addresses are also allowed.

For multisig addresses, a wallet like Sparrow is recommended. Simply copy the "output descriptor" generated by it.

See [below](#config_example) for an example of a valid file.

```bash
floresta -c config.toml --network signet run
```
or

```bash
./target/release/floresta -c config.toml --network signet run
```
or

```bash
cargo run --release -- -c config.toml --network signet run
```
Where:

- `network` is the network you're using, bitcoin means mainnet, other valid values are signet, regtest, and testnet. These are all test networks that are functionally identical to the main network (mainnet), but used only for testing, and their coins have no value.

If everything goes right, it will start synchronization and show the progress on screen. From the moment you see
> Server running on: 0.0.0.0:50001

you can already connect your wallet to the server, but the balance might take a while to appear.

### Configuration File Example
```toml
[wallet]
xpubs = [
"vpub5ZkWR4krsAzwFsmW8Yp3eHuANVLr7ZSWii6KmRnLRiN6ZXLbqs1f217jJM37oteQoyng82yw44XQU8PYJJBGgVzvJ96dQZEyZZcDiDmoJXw",
"vpub5V5XF4ipcQ9tLp7NCFswnwZ23tm5Key81E9CCfqFXaGjzTpQ8jjiirf2hG7aXtqXbRDFxMvEhdGdeFcqQ3jUGUkq4mqo2VoGCDWCZvPQvUy",
]
addresses = [
"tb1qjfplwf7a2dpjj04cx96rysqeastvycc0j50cch"
]
descriptors = [
"wsh(sortedmulti(1,[54ff5a12/48h/1h/0h/2h]tpubDDw6pwZA3hYxcSN32q7a5ynsKmWr4BbkBNHydHPKkM4BZwUfiK7tQ26h7USm8kA1E2FvCy7f7Er7QXKF8RNptATywydARtzgrxuPDwyYv4x/<0;1>/*,[bcf969c0/48h/1h/0h/2h]tpubDEFdgZdCPgQBTNtGj4h6AehK79Jm4LH54JrYBJjAtHMLEAth7LuY87awx9ZMiCURFzFWhxToRJK6xp39aqeJWrG5nuW3eBnXeMJcvDeDxfp/<0;1>/*))#fuw35j0q"
]
```
### Screenshot of Program Running

![A screenshot of logs from a Floresta instance running in a terminal on a GNU/Linux distribution](./assets/Screenshot_ibd.jpg)


Loading