A lightweight and embeddable Bitcoin client, built for sovereignty. https://getfloresta.org
  • Rust 83.7%
  • Python 11.7%
  • Shell 4.1%
  • Just 0.3%
Find a file
merge-script 2d615b7273
Merge getfloresta/floresta#1027: docs(cli): document ping and stop RPCs
e4dbd1bd8e docs(cli): document ping and stop RPCs (muhdnaimhussain)

Pull request description:

  ### Description and Notes

  Adds RPC documentation for `ping`, `stop`, and `getblockheader` endpoints following the established template and tone of `getblockchaininfo.md`.

  Part of #799

  ### How to verify the changes have made

  The documentation was verified against the Rust source in `floresta-rpc` and `floresta-cli` crates. Field names, return types, and command behavior were cross-referenced with the actual implementation to confirm accuracy.

  You can verify by running:
  ```bash
  floresta-cli ping
  floresta-cli stop
  floresta-cli getblockheader <block_hash>
  ```
  And comparing the output against the documented fields.

  ### Contributor Checklist

  - [x] I've followed the [contribution guidelines](https://github.com/getfloresta/Floresta/blob/master/CONTRIBUTING.md)
  - [x] I've linked any related issue(s) in the sections above

ACKs for top commit:
  Davidson-Souza:
    ACK e4dbd1bd8e
  moisesPompilio:
    ACK e4dbd1bd8e
  csgui:
    ACK e4dbd1b
  jaoleal:
    ACK e4dbd1bd8e

Tree-SHA512: b900a995afbf774bd8c185184ffbb47ec03e05bbebbc08841521d140183b654b88250fdcc35961d3fe2d4f2a2f95eaf4a2dcfb6d381c6f56074b53f3d9ef5658
2026-05-21 15:07:38 -03:00
.github fix(ci): pin CI actions to hashes and drop dtolnay/rust-toolchain 2026-05-15 15:49:06 -03:00
bin Merge getfloresta/floresta#1027: docs(cli): document ping and stop RPCs 2026-05-21 15:07:38 -03:00
contrib Merge getfloresta/floresta#1065: ci: don't fail on SSH signatures 2026-05-20 13:00:54 -03:00
crates Merge getfloresta/floresta#1027: docs(cli): document ping and stop RPCs 2026-05-21 15:07:38 -03:00
doc Merge getfloresta/floresta#1027: docs(cli): document ping and stop RPCs 2026-05-21 15:07:38 -03:00
fuzz refactor(wire): add Display, ALL and SUPPORTED to ReachableNetworks 2026-05-19 20:19:32 -03:00
metrics feat(doc): use license.workspace = true on all crates Cargo.toml's 2026-04-28 11:42:18 -03:00
tests test(rpc): getnetworkinfo 2026-05-19 20:19:32 -03:00
.dockerignore feat: move logging to use tracing and tracing-subscriber (#643) 2025-10-09 16:33:00 -03:00
.gitignore feat(docker): add docker compose data persistence and network configuration 2026-05-17 11:21:48 -03:00
.rustfmt.toml Actually run CI linting with nightly (#274) 2024-11-08 19:51:06 -03:00
_typos.toml fix(wallet): improve xpub parsing and descriptor generation 2026-05-08 12:04:08 -03:00
AGENTS.md feat(doc): add AGENTS.md, CLAUDE.md and update CONTRIBUTING.md wrt LLM use 2026-02-05 21:57:05 -03:00
Cargo.lock Merge getfloresta/floresta#821: Add Wallet Integration Tests and Fix Descriptor Persistence Issues 2026-05-11 17:10:47 -03:00
Cargo.toml chore: update rustls to 0.23.40 and switch to ring backend 2026-05-07 10:08:13 +01:00
CLAUDE.md feat(doc): add AGENTS.md, CLAUDE.md and update CONTRIBUTING.md wrt LLM use 2026-02-05 21:57:05 -03:00
config.toml.sample Added support for output descriptors (#30) 2023-03-31 12:14:08 -03:00
CONTRIBUTING.md docs: updating rpc_man directory in CONTRIBUTING 2026-03-29 13:38:31 -03:00
docker-compose.yml feat(docker): add docker compose data persistence and network configuration 2026-05-17 11:21:48 -03:00
Dockerfile fix: copy README to docker build context 2026-01-12 18:02:50 -03:00
flake.lock chore(flake): remove unecessary inputs, move flake framework to flake-parts and add nix-fmt and statix check 2026-05-06 15:06:39 -03:00
flake.nix fix(flake): remove gcc from devshell. 2026-05-13 19:06:56 -03:00
justfile Merge getfloresta/floresta#821: Add Wallet Integration Tests and Fix Descriptor Persistence Issues 2026-05-11 17:10:47 -03:00
LICENSE-APACHE chore(doc): add LICENSE-MIT and LICENSE-APACHE 2026-03-16 15:57:24 -03:00
LICENSE-MIT chore(doc): add LICENSE-MIT and LICENSE-APACHE 2026-03-16 15:57:24 -03:00
LICENSE.md chore(doc): add LICENSE-MIT and LICENSE-APACHE 2026-03-16 15:57:24 -03:00
pyproject.toml refactor(integration): remove legacy test runner and refactor FlorestaTestFramework 2026-04-22 12:15:55 -03:00
README.md docs: acknowledge utreexo BIP drafts and note WIP status 2026-04-16 16:56:27 -03:00
SECURITY.md docs: add SECURITY.md 2026-01-10 19:11:30 -03:00
typos.toml chore: move seeds out of src/ since they aren't really code 2026-03-27 18:46:35 -03:00
uv.lock feat(integration): add multithread support for pytest 2026-04-22 12:11:09 -03:00

Floresta

A lightweight and embeddable Bitcoin client, built for sovereignty!

version API Docs MSRV 1.81.0+

Homepage | Documentation

Floresta is a lightweight and embeddable Bitcoin client designed for users and applications that want strong validation guarantees without the operational overhead of traditional full nodes.

It can be run as a standalone fully validating node or embedded as a library, allowing developers to reuse the same client components across different applications and deployments.

Name

Floresta is the Portuguese word for forest. It is a reference to the Utreexo accumulator, which is a forest of Merkle trees. It's pronounced /floˈɾɛstɐ/.

Architecture

Floresta is written in Rust and implements modern Bitcoin validation techniques such as Utreexo, PoW Fraud Proofs, and pruning, to significantly reduce resource requirements while preserving trust and security.

Floresta is composed of two main components: libfloresta and florestad.

libfloresta is a collection of reusable components that can be integrated into Bitcoin applications. florestad builds on top of libfloresta to provide a full node daemon, including a watch-only wallet and an Electrum server.

If you only want to run a node, you can use florestad by building it from source, following the instructions for Unix or MacOS.

Consensus Implementation

One of the most challenging parts of working with Bitcoin is keeping up with the consensus rules. Given its nature as a consensus protocol, it's very important to make sure that the implementation is correct and on par with Bitcoin Core. Instead of reimplementing a Bitcoin Script interpreter, we use rust-bitcoinkernel, which is a wrapper around libbitcoinkernel, a C++ library that exposes Bitcoin Core's validation engine. It allows validating blocks, transaction outputs and reading block data with the same API as Bitcoin Core.

Developing

Detailed documentation for libfloresta is available here. Additionally, the floresta-docs mdBook provides an in-depth look at the libraries' architecture and internals.

Further information can be found in the documentation folder.

Contributions are welcome. Feel free to open an issue or a pull request. Check out our Contribution Guidelines for more information on best practices.

If you want to contribute but don't know where to start, take a look at the Good First Issues.

Roadmap

Floresta's technical direction is guided by six strategic themes:

  • Reliability & Security
  • Sync & Transaction Relay
  • Bitcoin Ecosystem Support
  • Modular Architecture
  • Testing & Validation
  • Community Adoption & User Experience

For the full 2026 roadmap and ongoing priorities, see doc/roadmap-2026.md. Active workstreams are tracked on the Project Board.

Community

If you want to discuss this project, you can join the Discord Server. To report security vulnerabilities, please see the Security Policy.

License

Licensed under either of

at your option.

Acknowledgments