Skip to content

Commit e652f76

Browse files
authored
feat: Align with v0.1.2 (#5)
1 parent fc6f777 commit e652f76

File tree

15 files changed

+166
-22
lines changed

15 files changed

+166
-22
lines changed

docs/account/index.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ You can get started by [registering a Numeraire account](account/register.mdx).
2424
- Sort and filter your transactions
2525
- Manage a list of contacts
2626
- Generate invoices
27+
- Programmatically access your account with API Keys
2728
- And much more...

docs/developers/api-keys.mdx

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,48 @@ sidebar_position: 2
44
image: /img/social.jpg
55
---
66

7-
(WIP - Feature Coming soon)
7+
Integrate all functionalities provided by Numeraire into your applications, with the [Numeraire API](https://api.numeraire.tech/docs) using API Keys.
88

9-
API Keys are used to authenticate requests to the [Numeraire API](https://api.numeraire.tech/docs). They are generated in the [Dashboard](https://app.numeraire.tech) and can be used to access the API endpoints.
9+
API Keys are used to authenticate requests. They are generated in the [Dashboard](https://app.numeraire.tech) and can be used to access the API endpoints.
10+
When deploying your own Numeraire SwissKnife, you also have access to the API in the same way by connecting to your own instance.
11+
With the right permissions, you also access the API on behalf of other users as an admin, allowing you to behave as banking infrastructure for your users.
12+
13+
## Generate an API token
14+
15+
1. Go to your [Settings](https://app.numeraire.tech/settings?tab=apikeys) on the API Keys tab.
16+
17+
<div class="center-container" style={{ marginBottom: 20 }}>
18+
<img
19+
src="/img/article_images/developers/apikeys_overview.png"
20+
alt="Numeraire SwissKnife"
21+
/>
22+
</div>
23+
24+
2. Click on the `New` button.
25+
26+
<div class="center-container" style={{ marginBottom: 20 }}>
27+
<img
28+
src="/img/article_images/developers/apikeys_new.png"
29+
alt="Numeraire SwissKnife"
30+
/>
31+
</div>
32+
33+
3. Fill in the form and select the permissions you want to grant. As user, you can only generate an API key to access your own account.
34+
4. Once the token is generated, copy it and store it in a safe place. You will not be able to see it again!
35+
36+
## Use your API token
37+
38+
Once your API key is generated, you can pass the token in the `Api-Key` header of your requests.
39+
40+
```bash
41+
curl https://api.numeraire.tech/v1/payments -H 'Api-Key: YOUR_API_KEY'
42+
```
43+
44+
:::tip
45+
Always send payload data in JSON format using the `Content-Type: application/json` header.
46+
:::
47+
48+
## BUIDL
49+
50+
You are now ready to start building with Numeraire! Start integrating into your application, create a Wordpress plugin, register Lightning and Nostr Addresses
51+
for your users, etc. The possibilities are endless!

docs/developers/index.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ image: /img/social.png
66

77
Happy that you are interested in integrating and building on Bitcoin! We are here to help you get started.
88

9-
:::info
10-
This documentation is a work in progress, we strongly appreciate any feedback or contribution you may have. Theses docs are open source and can be found on [**GitHub**](https://github.com/bitcoin-numeraire/doc)
11-
:::
12-
139
## API Access
1410

1511
Whether registering a [Numeraire Account](account/index.mdx) or deploying your own [Numeraire SwissKnife](swissknife/index.mdx), developers can access all the features via [API Keys](developers/api-keys.mdx) and [webhooks](developers/webhooks.mdx) through the [REST API](https://api.numeraire.tech/docs).

docs/introduction.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ Registering a [Numeraire Account](account/index.mdx) allows you to:
1717
- Send and receive Bitcoin through the Lightning Network
1818
- Register a LN and Nostr Address (*your_username@numeraire.tech*)
1919
- Send and Receive Zaps on Nostr
20-
- Access your account programatically via API Keys
20+
- Access your account programmatically via API Keys
2121
- As a developer, integrate Bitcoin into your app with the [REST API](https://api.numeraire.tech/docs)
2222

23-
[here](account/index.mdx) Register an account through the dashboard and discover all the features a Numeraire Account offers [here](account/index.mdx).
23+
Register an account through the dashboard and discover all the features a Numeraire Account offers [here](account/index.mdx).
2424

2525
:::info
26-
Registering an account is free, without transaction fees, the only fees perceived are the Lightning protocol fees.
26+
Registering an account and sending payments is free. Numeraire does not charge transaction fees, the only fees perceived are the Lightning Network fees.
2727
:::
2828

2929
### Numeraire SwissKnife
@@ -36,7 +36,7 @@ Registering an account is free, without transaction fees, the only fees perceive
3636
- Runs on your desktop, Raspberry Pi (Umbrel, Raspiblitz, ...) or on a server in the cloud.
3737
- Everything the Numeraire Dashboard has to offer, as the dashboard is essentially the Numeraire SwissKnife ran as a service.
3838

39-
Discover how to use and deploy a Numeraire SwissKnife [here](swissknife/index.mdx). Explore the implementation of
39+
Discover how to use and deploy a Numeraire SwissKnife [here](swissknife/index.mdx).
4040

4141
### Numeraire for Developers
4242

docs/swissknife/configuration/default.mdx

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ seed = "CHANGE_ME"
3737

3838
# Core Lightning provider
3939
[cln_grpc_config]
40-
endpoint = "https://localhost:50051"
40+
endpoint = "https://localhost:11002"
4141
certs_dir = "certs/lightningd"
4242
maxfeepercent = 0.5
4343
payment_timeout = "60s"
@@ -46,6 +46,7 @@ retry_delay = "5s"
4646

4747
[cln_rest_config]
4848
endpoint = "http://localhost:3010"
49+
ca_cert_path = "certs/lightningd/ca.cert"
4950
rune = "CHANGE_ME"
5051
connect_timeout = "5s"
5152
timeout = "90s"
@@ -55,8 +56,23 @@ accept_invalid_hostnames = false
5556
maxfeepercent = 0.5
5657
payment_timeout = "60s"
5758
payment_exemptfee = 5000
58-
ws_min_reconnect_delay_delay = 1
59-
ws_max_reconnect_delay_delay = 30
59+
ws_min_reconnect_delay = "1s"
60+
ws_max_reconnect_delay = "30s"
61+
62+
# LND Lightning provider
63+
[lnd_config]
64+
host = "localhost:8080"
65+
macaroon_path = "certs/lnd/admin.macaroon"
66+
ca_cert_path = "certs/lnd/tls.cert"
67+
connect_timeout = "5s"
68+
timeout = "90s"
69+
connection_verbose = true
70+
accept_invalid_certs = false
71+
accept_invalid_hostnames = false
72+
payment_timeout = "60s"
73+
fee_limit_msat = 25000
74+
ws_min_reconnect_delay = "1s"
75+
ws_max_reconnect_delay = "30s"
6076

6177
# Logging
6278
[logging]

docs/swissknife/configuration/index.mdx

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Config values for Breez Lightning provider. To be placed under `breez_config`.
5353

5454
### Core Lightning provider (gRPC)
5555

56-
Config values for Core [Lightning provider using gRPC](https://docs.corelightning.org/docs/grpc). To be placed under `cln_grpc_config`.
56+
Config values for [Core Lightning provider using gRPC](https://docs.corelightning.org/docs/grpc). To be placed under `cln_grpc_config`.
5757

5858
| Config Value | Description |
5959
|---------------------------|--------------------------------------------------|
@@ -66,7 +66,7 @@ Config values for Core [Lightning provider using gRPC](https://docs.corelightnin
6666

6767
### Core Lightning provider (REST)
6868

69-
Config values for Core [Lightning provider using REST](https://docs.corelightning.org/docs/rest). To be placed under `cln_rest_config`.
69+
Config values for [Core Lightning provider using REST](https://docs.corelightning.org/docs/rest). To be placed under `cln_rest_config`.
7070
Numeraire SwisskKnife uses runes and the websocket server to sync events from the node.
7171

7272
| Config Value | Description |
@@ -81,13 +81,34 @@ Numeraire SwisskKnife uses runes and the websocket server to sync events from th
8181
| `cln_rest_config.maxfeepercent` | Maximum fee percentage for payments |
8282
| `cln_rest_config.payment_timeout`| Payment timeout duration |
8383
| `cln_rest_config.payment_exemptfee` | Exempt fee value for payments |
84-
| `cln_rest_config.ws_min_reconnect_delay_delay` | Minimum WebSocket reconnect delay |
85-
| `cln_rest_config.ws_max_reconnect_delay_delay` | Maximum WebSocket reconnect delay |
84+
| `cln_rest_config.ws_min_reconnect_delay` | Minimum WebSocket reconnect delay |
85+
| `cln_rest_config.ws_max_reconnect_delay` | Maximum WebSocket reconnect delay |
86+
8687

8788
:::tip
8889
Use an ENV var for `SWISSKNIFE_CLN_REST_CONFIG__RUNE`, as that value is highly sensitive.
8990
:::
9091

92+
### LND provider
93+
94+
Config values for [LND provider using REST](https://lightning.engineering/api-docs/api/lnd/). To be placed under `lnd_config`.
95+
Numeraire SwisskKnife uses macaroons and the websocket server to sync events from the node.
96+
97+
| Config Value | Description |
98+
|----------------------------------|--------------------------------------------------|
99+
| `lnd_config.host` | Host and port for LND gRPC API |
100+
| `lnd_config.macaroon_path` | File path to the admin macaroon |
101+
| `lnd_config.ca_cert_path` | File path to the TLS certificate |
102+
| `lnd_config.connect_timeout` | Connection timeout duration |
103+
| `lnd_config.timeout` | Request timeout duration |
104+
| `lnd_config.connection_verbose` | Enable verbose connection logging |
105+
| `lnd_config.accept_invalid_certs`| Accept invalid certificates |
106+
| `lnd_config.accept_invalid_hostnames` | Accept invalid hostnames |
107+
| `lnd_config.payment_timeout` | Payment timeout duration |
108+
| `lnd_config.fee_limit_msat` | Maximum fee limit in millisatoshis for payments |
109+
| `lnd_config.ws_min_reconnect_delay` | Minimum WebSocket reconnect delay |
110+
| `lnd_config.ws_max_reconnect_delay` | Maximum WebSocket reconnect delay |
111+
91112
### Logging
92113

93114
Config values for logging. To be placed under `logging`.

docs/swissknife/configuration/ln-providers.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Core Lightning offers a gRPC and REST API, both supported.
3535

3636
See the configuration values for Core Lightning gRPC [here](swissknife/configuration/index.mdx#core-lightning-provider-grpc).
3737

38-
### REST (`ln_provider = "clnrest`)
38+
### REST (`ln_provider = "clnrest"`)
3939

4040
See the configuration values for Core Lightning REST [here](swissknife/configuration/index.mdx#core-lightning-provider-rest).
4141

docs/swissknife/index.mdx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ installing SwissKnife on your own hardware, either on your desktop, on a Raspber
3232
- Data availability through pagination and advanced search.
3333
- Advanced [Dashboard](https://github.com/bitcoin-numeraire/swissknife-dashboard).
3434
- Runs in the cloud, on your desktop or on a Raspberry Pi (or similar).
35+
- [`Nostr`](https://github.com/nostr-protocol/nips/blob/master/05.md). NIP-05 and Zap support through your Lightning Address.
36+
- API keys authentication
3537

3638
## Lightning Providers
3739

@@ -49,4 +51,7 @@ SwissKnife allows direct Lightning integration, supporting the most used node im
4951
- Non-custodial
5052
- Automatic node management.
5153
- Automatic liquidity management via LSPs (user can switch LSPs)
52-
54+
- [`LND`](https://github.com/lightningnetwork/lnd)
55+
- Non-custodial
56+
- Run your own node
57+
- Manage your own liquidity

docusaurus.config.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@ const config: Config = {
120120
position: "right",
121121
"aria-label": "Twitter",
122122
},
123+
{
124+
href: "https://nostr.com/npub1m8pwckdf3n5lyd2m463ad3u4kk98qmwfs9s7hrmj6knd07frenlsfr0uje",
125+
className: "header-nostr-link",
126+
position: "right",
127+
"aria-label": "Nostr",
128+
},
123129
],
124130
},
125131
footer: {
@@ -140,6 +146,10 @@ const config: Config = {
140146
label: 'API Reference',
141147
href: 'https://api.numeraire.tech/docs',
142148
},
149+
{
150+
label: 'Lightning Node',
151+
href: 'https://amboss.space/node/02fc22cb2dd9c71b39ad246ae206259376e0127cce2192d4061abd0172b53f391b',
152+
},
143153
],
144154
},
145155
{
@@ -155,7 +165,7 @@ const config: Config = {
155165
},
156166
{
157167
label: 'Nostr',
158-
href: '#',
168+
href: 'https://nostr.com/npub1m8pwckdf3n5lyd2m463ad3u4kk98qmwfs9s7hrmj6knd07frenlsfr0uje',
159169
},
160170
],
161171
},
@@ -170,6 +180,7 @@ const config: Config = {
170180
label: 'Contribute to our docs',
171181
href: 'https://github.com/bitcoin-numeraire/doc',
172182
},
183+
173184
],
174185
},
175186
],

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "numeraire-docs",
33
"author": "Dario Anongba Varela",
4-
"version": "0.1.0",
4+
"version": "0.1.1",
55
"email": "dario.varela@numeraire.tech",
66
"description": "Numeraire products documentation",
77
"scripts": {

src/css/custom.css

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,47 @@
392392
html[data-theme="dark"] .header-dockerhub-link::before {
393393
filter: invert(100%);
394394
}
395+
396+
/* nostr */
397+
.header-nostr-link:hover {
398+
opacity: 0.6;
399+
}
400+
401+
.header-nostr-link::before {
402+
content: "";
403+
width: 24px;
404+
height: 24px;
405+
margin-top: 8px;
406+
display: flex;
407+
background: url("icon_nostr.svg")
408+
no-repeat;
409+
background-size: 20px 20px;
410+
}
411+
412+
html[data-theme="dark"] .header-nostr-link::before {
413+
content: "";
414+
width: 24px;
415+
height: 24px;
416+
margin-top: 8px;
417+
display: flex;
418+
background: url("icon_nostr_dark.svg")
419+
no-repeat;
420+
background-size: 20px 20px;
421+
}
422+
423+
@media (max-width: 996px) {
424+
.header-nostr-link::before {
425+
margin-top: 0;
426+
background-size: 24px 24px;
427+
margin-left: 2px;
428+
}
429+
430+
html[data-theme="dark"] .header-nostr-link::before {
431+
margin-top: 0;
432+
background-size: 24px 24px;
433+
margin-left: 2px;
434+
}
435+
}
395436

396437
@media only screen and (max-width: 525px) {
397438
.menu__link {
@@ -419,6 +460,11 @@
419460
margin-left: 20px;
420461
content: "DockerHub ";
421462
}
463+
464+
.header-nostr-link::after {
465+
margin-left: 20px;
466+
content: "Twitter ";
467+
}
422468
}
423469

424470
/* Navbar formatting */
@@ -647,4 +693,4 @@
647693

648694
.footer__copyright {
649695
color: var(--banner-text);
650-
}
696+
}

src/css/icon_nostr.svg

Lines changed: 3 additions & 0 deletions
Loading

src/css/icon_nostr_dark.svg

Lines changed: 3 additions & 0 deletions
Loading
Loading
Loading

0 commit comments

Comments
 (0)