Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nayutaco/ptarmigan
Lightning Network (BOLT)
https://github.com/nayutaco/ptarmigan
bitcoin lightning-network
Last synced: about 1 month ago
JSON representation
Lightning Network (BOLT)
- Host: GitHub
- URL: https://github.com/nayutaco/ptarmigan
- Owner: nayutaco
- License: apache-2.0
- Archived: true
- Created: 2017-07-21T10:59:52.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-10-19T02:52:28.000Z (about 3 years ago)
- Last Synced: 2024-08-01T22:50:19.134Z (4 months ago)
- Topics: bitcoin, lightning-network
- Language: C
- Homepage:
- Size: 52.6 MB
- Stars: 132
- Watchers: 11
- Forks: 19
- Open Issues: 120
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-lightning-network - ptarmigan - C++ BOLT-Compliant Lightning Network Implementation (Lightning Network Protocol / Implementations)
- awesome-lightning-network - ptarmigan - C++ BOLT-Compliant Lightning Network Implementation (Lightning Network Protocol / Implementations)
- awesome-embedded-blockchain - Ptarmigan
README
# Ptarmigan
[![Build Status](https://travis-ci.org/nayutaco/ptarmigan.svg?branch=development)](https://travis-ci.org/nayutaco/ptarmigan)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)
![Issue Welcome](https://img.shields.io/badge/issue-welcome-brightgreen.svg)![Ptarmigan](docs/images/ptarmigan_text.png)
## About
* [Lightning Network BOLT](https://github.com/lightningnetwork/lightning-rfc) implementation
* In Japanese, `ptarmigan` is called "雷 (thunder) 鳥 (bird)".## Setup
* Ubuntu 18.04
* bitcoind
* above v0.17 (`getnetworkinfo` version >= 170000)
* bitcoin mainnet / testnet / regtest
* NOTE
* not support bitcoin.conf section format## Install
```bash
sudo apt install -y git autoconf pkg-config build-essential libtool python3 wget jq bcgit clone https://github.com/nayutaco/ptarmigan.git
cd ptarmigan
make full# takes a lot of time...
```[NOTE and details](docs/INSTALL.md)
## Starting `bitcoind`
At first, start `bitcoind`.
`ptarmd` use bitcoind JSON-RPC, so need `rpcuser` and `rpcpassword`.* bitcoin.conf sample
```text
rpcuser=bitcoinuser
rpcpassword=bitcoinpassword
server=1
txindex=1
testnet=1
``````bash
bitcoind -daemon# check started chain
bitcoin-cli getblockchaininfo | jq -e '.chain'
```## Starting `ptarmd`
For starting `ptarmd`, you should make new node as follows.
```bash
cd ptarmigan/install
./new_nodedir.sh [NODENAME]
cd [NODENAME]# start ptarmigan daemon
# CHAIN=mainnet, testnet or regtest
../ptarmd --network=testnet
```## How to use
* [How to use](docs/howtouse.md)
* [How to use REST API](docs/howtouse_rest_api.md)Note: `ptarmigan` has interfaces of CLI, JSON-RPC and REST API.
But CLI and JSON-RPC will change in the near future.
Try the newer REST API interface.## Dependency
### libraries
* git submodule
* [ARMmbed/MbedTLS](https://github.com/ARMmbed/mbedtls)
* [LMDB/lmdb](https://github.com/LMDB/lmdb)
* [akheron/jansson](https://github.com/akheron/jansson)
* [benhoyt/inih](https://github.com/benhoyt/inih)
* [curl/curl](https://github.com/curl/curl)
* [enki/libev](https://github.com/enki/libev)
* [luke-jr/libbase58](https://github.com/luke-jr/libbase58)
* [madler/zlib](https://github.com/madler/zlib)
* [nayutaco/jsonrpc-c](https://github.com/nayutaco/jsonrpc-c) - forked from [hmng/jsonrpc-c](https://github.com/hmng/jsonrpc-c)* download
* [boost](http://www.boost.org/) (for dijkstra shortest paths)
* [OpenSSL](https://www.openssl.org/) (only `USE_OPENSSL`)* reference code
* [sipa/bech32](https://github.com/sipa/bech32)### application
* [bitcoind](https://github.com/bitcoin/bitcoin)
* JSON-RPC
* `getrawtransaction`
* `signrawtransactionwithwallet`
* `sendrawtransaction`
* `gettxout`
* `getblock`
* `getblockhash`
* `getblockcount`
* `getnewaddress`
* `estimatesmartfee`
* `getnetworkinfo`
* `listunspent`
* `lockunspent`## Security
If you find any issues regarding security,
please disclose the information by sending an (possibly encrypted) email to security at nayuta dot co.
[Our PGP key `3C95B178758342844787766AAF91183E1DCC4222`](https://pgp.mit.edu/pks/lookup?op=vindex&search=0xAF91183E1DCC4222).