Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update README #520

Merged
merged 1 commit into from
Feb 26, 2025
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
40 changes: 29 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,33 @@
# Fiber Network Node

Fiber Network Node (FNN) is a reference implementation of Fiber Network Protocol (FNP). In the current stage, it's not a production-ready implementation, but a prototype to demonstrate the feasibility of FNP. It's capable of:

* Establishing connections with other FNN
* Creating and closing fiber channel
* Payments over fiber channel (via [fiber-scripts])
* Cross-chain asset transfer

Please note that the implementation is still under development, there are many limitations and known issues, you may find or report them in the issue tracker.

But as a prototype, it's a good starting point for developers to understand the FNP and try out the integration with their applications.
Fiber Network Node (FNN) is a reference node implementation of Fiber Network Protocol (FNP). Fiber network is a peer-to-peer payment/swap network (like [Lightning Network](https://lightning.network/)). We believe payment and swap are the two foundational primitives of finance.

Features

- **Multiple assets support**, e.g. stable coins, RGB++ assets issued on Bitcoin ledger, and UDT assets issued on CKB ledger;
- **Extremely low-cost micropayments**, e.g. 0.0001 cent payment with 0.00000001 cent fee;
- **Instant swap between any asset pairs**, as long as there's available channel paths;
- **Cross-network asset payment/swap**, e.g. from Lightning network to Fiber network, and vice versa;
- **Watchtower support**, make it easier for node operators;
- **Multi-hop payment**, anyone can facilitate payments and earn payment fees by running a fiber node and becoming a hop on payment paths;
- **Low latency**, e.g. 0.0001 cent payment in your p2p connection latency, e.g. 20ms;
- **High throughput**, because transactions are only processed by involved peers, no network consensus required;
- **High privacy**, your transactions are only seen by involved peers;
- **Based on more advanced cryptographic techniques** to ensure security and privacy, e.g. uses PTLC not HTLC;
- **Composable** with other contracts/scripts on CKB;

!!! The implementation is still a work-in-progress and will have iterations even after mainnet, please use it with caution and report any issues/limitations in the issue tracker.

TODO

- [x] Establishing connections with other fiber nodes
- [x] Creating and closing fiber channel
- [x] Payments over fiber channel (via [fiber-scripts])
- [x] Cross-network asset transfer
- [ ] Web-browser friendly runtime
- [ ] Programmable conditional payment
- [ ] Advanced channel liquidity management
- [ ] Atomic multi-path payment

## Build and run a testnet node

Expand Down Expand Up @@ -46,7 +64,7 @@ RUST_LOG=info ./fnn -c config.yml -d .

## Testnet compatibility issues

The current state of the FNN is not stable, the protocol and storage format may changed between versions. We strongly recommend you to close the channel before upgrading the node, otherwise, you may lose the channel state:
FNN is still under development, the protocol and storage format may changed between versions. We strongly recommend you to close the channel before upgrading the node, otherwise, you may lose channel data and funds!

1. [list all channels](./src/rpc/README.md#channel-list_channels) and [close](./src/rpc/README.md#channel-shutdown_channel) them via RPC.

Expand Down