32 Commits

Author SHA1 Message Date
Overtorment
0d337bdc7b REL 2021-05-14 11:11:23 +01:00
Overtorment
f0bf066cfd FIX: updateDescribeGraph() is disabled by default (too slow on low-end machines) 2021-05-14 11:10:41 +01:00
snyk-bot
f0ad86f1b9 fix: upgrade core-js from 3.10.2 to 3.11.0
Snyk has created this PR to upgrade core-js from 3.10.2 to 3.11.0.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-14 10:54:51 +01:00
snyk-bot
12d1e9560f fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/cli from 7.13.14 to 7.13.16.
    See this package in npm: https://www.npmjs.com/package/@babel/cli
  - @babel/core from 7.13.15 to 7.13.16.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/register from 7.13.14 to 7.13.16.
    See this package in npm: https://www.npmjs.com/package/@babel/register

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-12 11:48:39 +01:00
snyk-bot
1eaf6c5a47 fix: upgrade core-js from 3.10.0 to 3.10.2
Snyk has created this PR to upgrade core-js from 3.10.0 to 3.10.2.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-11 10:16:33 +01:00
snyk-bot
dfcaac2cfa fix: upgrade @grpc/proto-loader from 0.6.0 to 0.6.1
Snyk has created this PR to upgrade @grpc/proto-loader from 0.6.0 to 0.6.1.

See this package in npm:
https://www.npmjs.com/package/@grpc/proto-loader

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-06 10:59:01 +01:00
snyk-bot
f11c02d2f2 fix: upgrade eslint-plugin-prettier from 3.3.1 to 3.4.0
Snyk has created this PR to upgrade eslint-plugin-prettier from 3.3.1 to 3.4.0.

See this package in npm:
https://www.npmjs.com/package/eslint-plugin-prettier

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-06 10:58:11 +01:00
snyk-bot
a4eedde3fb fix: upgrade ioredis from 4.25.0 to 4.26.0
Snyk has created this PR to upgrade ioredis from 4.25.0 to 4.26.0.

See this package in npm:
https://www.npmjs.com/package/ioredis

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-04 10:52:28 +01:00
snyk-bot
597615209b fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/core from 7.13.14 to 7.13.15.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/preset-env from 7.13.12 to 7.13.15.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-04 10:51:06 +01:00
snyk-bot
5fc7b074f9 fix: upgrade eslint from 7.23.0 to 7.24.0
Snyk has created this PR to upgrade eslint from 7.23.0 to 7.24.0.

See this package in npm:
https://www.npmjs.com/package/eslint

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-05-04 10:48:01 +01:00
Overtorment
df9b9a71d9 REL: v1.3.3 2021-04-29 15:34:09 +01:00
Overtorment
ede2359e8a FIX 2021-04-29 15:33:37 +01:00
Aaron Dewes
b9a55f01d7 Allow custom ratelimits 2021-04-29 15:31:13 +01:00
Overtorment
1c4eb6d83a REL: v1.3.2 2021-04-29 13:40:30 +01:00
Aaron Dewes
d4c2771f4a Fix: Fix actions for Umbrel 2021-04-29 13:39:32 +01:00
snyk-bot
f64a8c8102 fix: upgrade @grpc/proto-loader from 0.5.6 to 0.6.0
Snyk has created this PR to upgrade @grpc/proto-loader from 0.5.6 to 0.6.0.

See this package in npm:
https://www.npmjs.com/package/@grpc/proto-loader

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-04-28 10:50:07 +01:00
Overtorment
170bf0d120 FIX: time -> blocktime 2021-04-17 00:51:37 +01:00
Overtorment
049ae5de5c REL 2021-04-16 22:08:51 +01:00
Overtorment
877d7762ff ADD: bitcoind migrate script 2021-04-16 22:08:20 +01:00
Overtorment
e0a0eed038 DOC 2021-04-16 22:07:02 +01:00
Overtorment
26692d6c92 FIX: minor improv 2021-04-16 22:06:03 +01:00
ViktorBohu
68fd866894 Fixed progress bar css for small values 2021-04-08 19:27:31 +01:00
Aaron Dewes
d7216e1506 doc: Add options that were added for Umbrel
These options that aren't documented yet were added recently, I hope this documentation looks okay for you.
2021-04-08 12:54:57 +01:00
Overtorment
30c8bb2d94 REF 2021-04-05 12:14:41 +01:00
Overtorment
17e9bd30c8 ADD: /getchaninfo/:chanid 2021-04-03 12:35:45 +01:00
snyk-bot
d47f03501d fix: upgrade bolt11 from 1.2.7 to 1.3.1
Snyk has created this PR to upgrade bolt11 from 1.2.7 to 1.3.1.

See this package in npm:
https://www.npmjs.com/package/bolt11

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-04-02 12:32:53 +01:00
snyk-bot
3d1abda05b fix: upgrade @babel/eslint-parser from 7.13.4 to 7.13.10
Snyk has created this PR to upgrade @babel/eslint-parser from 7.13.4 to 7.13.10.

See this package in npm:
https://www.npmjs.com/package/@babel/eslint-parser

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-04-02 12:32:06 +01:00
snyk-bot
de64f1c55a fix: upgrade @grpc/grpc-js from 1.2.9 to 1.2.10
Snyk has created this PR to upgrade @grpc/grpc-js from 1.2.9 to 1.2.10.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-03-27 10:00:05 +00:00
snyk-bot
bcf87de2b4 fix: upgrade @grpc/grpc-js from 1.2.8 to 1.2.9
Snyk has created this PR to upgrade @grpc/grpc-js from 1.2.8 to 1.2.9.

See this package in npm:
https://www.npmjs.com/package/@grpc/grpc-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-03-25 12:32:00 +00:00
snyk-bot
ad1b1d3da4 fix: upgrade @babel/preset-env from 7.13.8 to 7.13.9
Snyk has created this PR to upgrade @babel/preset-env from 7.13.8 to 7.13.9.

See this package in npm:
https://www.npmjs.com/package/@babel/preset-env

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-03-23 14:34:39 +00:00
snyk-bot
a6f354600c fix: upgrade core-js from 3.9.0 to 3.9.1
Snyk has created this PR to upgrade core-js from 3.9.0 to 3.9.1.

See this package in npm:
https://www.npmjs.com/package/core-js

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-03-22 10:59:57 +00:00
snyk-bot
647632c914 fix: upgrade multiple dependencies with Snyk
Snyk has created this PR to upgrade:
  - @babel/core from 7.13.1 to 7.13.8.
    See this package in npm: https://www.npmjs.com/package/@babel/core
  - @babel/preset-env from 7.13.5 to 7.13.8.
    See this package in npm: https://www.npmjs.com/package/@babel/preset-env
  - @babel/register from 7.13.0 to 7.13.8.
    See this package in npm: https://www.npmjs.com/package/@babel/register

See this project in Snyk:
https://app.snyk.io/org/bluewallet/project/29c066bc-abce-44d9-b68e-064466e610e7?utm_source=github&utm_medium=upgrade-pr
2021-03-20 19:06:57 +00:00
15 changed files with 1028 additions and 7757 deletions

View File

@@ -12,12 +12,7 @@ jobs:
build:
name: Build image
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- name: Checkout project
uses: actions/checkout@v2
@@ -49,6 +44,6 @@ jobs:
docker buildx build \
--cache-from "type=local,src=/tmp/.buildx-cache" \
--cache-to "type=local,dest=/tmp/.buildx-cache" \
--platform ${{matrix.platform}} \
--platform linux/arm64,linux/amd64 \
--tag ${{ secrets.DOCKER_CONTAINER_USERNAME }}/lndhub:$BRANCH \
--output "type=registry" ./

View File

@@ -13,12 +13,7 @@ jobs:
build:
name: Build image
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- name: Checkout project
uses: actions/checkout@v2
@@ -49,7 +44,7 @@ jobs:
docker buildx build \
--cache-from "type=local,src=/tmp/.buildx-cache" \
--cache-to "type=local,dest=/tmp/.buildx-cache" \
--platform ${{matrix.platform}} \
--platform linux/arm64,linux/amd64 \
--tag ${{ secrets.DOCKER_CONTAINER_USERNAME }}/lndhub:$TAG \
--output "type=registry" ./
- name: Run Docker buildx
@@ -57,6 +52,6 @@ jobs:
docker buildx build \
--cache-from "type=local,src=/tmp/.buildx-cache" \
--cache-to "type=local,dest=/tmp/.buildx-cache" \
--platform ${{matrix.platform}} \
--platform linux/arm64,linux/amd64 \
--tag ${{ secrets.DOCKER_CONTAINER_USERNAME }}/lndhub:latest \
--output "type=registry" ./

View File

@@ -23,6 +23,9 @@ Copy `admin.macaroon` and `tls.cert` in root folder of LndHub.
`bitcoind` should run with `-deprecatedrpc=accounts`, for now. Lndhub expects Lnd's wallet to be unlocked, if not - it will attempt to unlock it with password stored in `config.lnd.password`.
Don't forget to enable disk-persistance for `redis`.
If you have no `bitcoind` instance, for example if you use neutrino, or you have no bitcoind wallet,
for example if you use LND for wallet managment, you can remove the bitcoind settings from `config.js`.
Please not that this feature is limited to Bitcoin, so you can't use this feature if you use any other cryptocurrency with LND.
### Deploy to Heroku
@@ -31,6 +34,12 @@ Add config vars :
* `MACAROON`: hex-encoded `admin.macaroon`
* `TLSCERT`: hex-encoded `tls.cert`
### Run in docker
LndHub is available on Docker Hub as [`bluewalletorganization/lndhub`](https://hub.docker.com/r/bluewalletorganization/lndhub).
Please note that this requires a separate instance of redis and LND and optionally, bitcoind.
You can also view Umbrel's implementation using docker-compose [here](https://github.com/getumbrel/umbrel/blob/280c87f0f323666b1b0552aeb24f60df94d1e43c/apps/lndhub/docker-compose.yml).
### Reference client implementation
Can be used in ReactNative or Nodejs environment

View File

@@ -412,7 +412,7 @@ export class User {
amount: tx.amount,
confirmations: tx.confirmations,
address: tx.address,
time: tx.time,
time: tx.blocktime || tx.time,
});
}
} else {

View File

@@ -1,4 +1,7 @@
let config = {
enableUpdateDescribeGraph: false,
postRateLimit: 100,
rateLimit: 200,
bitcoind: {
rpc: 'http://login:password@1.1.1.1:8332/wallet/wallet.dat',
},

View File

@@ -27,6 +27,7 @@ if (config.bitcoind) {
console.error('bitcoind is not caught up');
process.exit(1);
}
console.log('bitcoind getblockchaininfo:', info);
} else {
console.error('bitcoind failure:', err, info);
process.exit(2);
@@ -41,7 +42,7 @@ lightning.getInfo({}, function (err, info) {
process.exit(3);
}
if (info) {
console.info(info);
console.info('lnd getinfo:', info);
if (!info.synced_to_chain && !config.forceStart) {
console.error('lnd not synced');
// process.exit(4);
@@ -109,12 +110,25 @@ subscribeInvoicesCall.on('end', function () {
// The server has closed the stream.
});
let lightningDescribeGraph = {};
function updateDescribeGraph() {
console.log('updateDescribeGraph()');
lightning.describeGraph({ include_unannounced: true }, function (err, response) {
if (!err) lightningDescribeGraph = response;
console.log('updated graph');
});
}
if (config.enableUpdateDescribeGraph) {
updateDescribeGraph();
setInterval(updateDescribeGraph, 120000);
}
// ######################## ROUTES ########################
const rateLimit = require('express-rate-limit');
const postLimiter = rateLimit({
windowMs: 30 * 60 * 1000,
max: 100,
max: config.postRateLimit || 100,
});
router.post('/create', postLimiter, async function (req, res) {
@@ -489,6 +503,19 @@ router.get('/queryroutes/:source/:dest/:amt', async function (req, res) {
});
});
router.get('/getchaninfo/:chanid', async function (req, res) {
logger.log('/getchaninfo', [req.id]);
if (lightningDescribeGraph && lightningDescribeGraph.edges) {
for (const edge of lightningDescribeGraph.edges) {
if (edge.channel_id == req.params.chanid) {
return res.send(JSON.stringify(edge, null, 2));
}
}
}
res.send('');
});
module.exports = router;
// ################# HELPERS ###########################

View File

@@ -14,6 +14,7 @@ function updateLightning() {
lightning.getInfo({}, function (err, info) {
if (err) {
console.error('lnd failure:', err);
return;
}
lightningGetInfo = info;
});
@@ -23,6 +24,7 @@ function updateLightning() {
console.error('lnd failure:', err);
return;
}
console.log('updated');
lightningListChannels = response;
let channels = [];
let max_chan_capacity = -1;
@@ -47,7 +49,6 @@ function updateLightning() {
} catch (Err) {
console.log(Err);
}
console.log('updated');
}
updateLightning();
setInterval(updateLightning, 60000);
@@ -69,6 +70,7 @@ const pubkey2name = {
'026c7d28784791a4b31a64eb34d9ab01552055b795919165e6ae886de637632efb': 'LivingRoomOfSatoshi',
'02816caed43171d3c9854e3b0ab2cf0c42be086ff1bd4005acc2a5f7db70d83774': 'ln.pizza',
'0254ff808f53b2f8c45e74b70430f336c6c76ba2f4af289f48d6086ae6e60462d3': 'bitrefill thor',
'03d607f3e69fd032524a867b288216bfab263b6eaee4e07783799a6fe69bb84fac': 'bitrefill 3',
'02a0bc43557fae6af7be8e3a29fdebda819e439bea9c0f8eb8ed6a0201f3471ca9': 'LightningPeachHub',
'02d4531a2f2e6e5a9033d37d548cff4834a3898e74c3abe1985b493c42ebbd707d': 'coinfinity.co',
'02d23fa6794d8fd056c757f3c8f4877782138dafffedc831fc570cab572620dc61': 'paywithmoon.com',

View File

@@ -512,25 +512,3 @@ Oauth2 process consists of such stages as:
- Token service checks user id and secret and sends token data with refresh token to Authorization service which sends it to Client
- Client uses token to access protected resources (GET ?access_token=XXXXXXXXXXXXXX)
- When token expires or needs to refresh token for security issues Client sends refresh_token to Token service (POST /auth?type=refresh_token), which sends new token data with refresh_token and disables to access old
```
Добавил POST метод /addinvoice для того, чтобы пользователь мог создать свой инвойс
в боди передаются параметы:
{
"amt": "string" обязательный
"memo":"string" не обязательный
"receipt":"string" не обязательный
"preimage": "string" не обязательный
"fallbackAddr": "string" не обязательны
"expiry": "string" не обязательны
"private": "string" не обязательны
}
информация по инвойсам, которые оплатили пользователям досутпна через метод GET /getuserinvoices , полученные коины учитываются в балансе (settled в unconfirmed balance, остальной в confirmed balance)
```

View File

@@ -28,7 +28,7 @@ User storage schema
* metadata_for_{userid}= {serialized json}
* userinvoices_for_{userid} = []
* payment_hash_{payment_hash} = {userid}
* ispaid_{payment_hash} = 1
* ispaid_{payment_hash} = {settleAmountSat}
####cleanup test user
@@ -36,4 +36,5 @@ User storage schema
* del locked_payments_for_666
* del txs_for_666
* del invoice_paying_for_666
* del userinvoices_for_666
* del userinvoices_for_666
* del balance_for_666

View File

@@ -8,6 +8,7 @@ let express = require('express');
let morgan = require('morgan');
import { v4 as uuidv4 } from 'uuid';
let logger = require('./utils/logger');
const config = require('./config');
morgan.token('id', function getId(req) {
return req.id;
@@ -19,7 +20,7 @@ app.enable('trust proxy');
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 15 * 60 * 1000,
max: 200,
max: config.rateLimit || 200,
});
app.use(limiter);
@@ -35,7 +36,6 @@ app.use(
);
let bodyParser = require('body-parser');
let config = require('./config');
app.use(bodyParser.urlencoded({ extended: false })); // parse application/x-www-form-urlencoded
app.use(bodyParser.json(null)); // parse application/json

8596
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "lndhub",
"version": "1.3.0",
"version": "1.3.4",
"description": "",
"main": "index.js",
"scripts": {
@@ -12,25 +12,25 @@
"author": "Igor Korsakov <overtorment@gmail.com>",
"license": "MIT",
"dependencies": {
"@babel/cli": "^7.13.0",
"@babel/core": "^7.13.1",
"@babel/eslint-parser": "^7.13.4",
"@babel/cli": "^7.13.16",
"@babel/core": "^7.13.16",
"@babel/eslint-parser": "^7.13.10",
"@babel/node": "^7.13.0",
"@babel/preset-env": "^7.13.5",
"@babel/register": "^7.13.0",
"@grpc/grpc-js": "^1.2.8",
"@grpc/proto-loader": "^0.5.6",
"@babel/preset-env": "^7.13.15",
"@babel/register": "^7.13.16",
"@grpc/grpc-js": "^1.2.10",
"@grpc/proto-loader": "^0.6.1",
"bignumber.js": "^9.0.1",
"bitcoinjs-lib": "^5.2.0",
"bolt11": "^1.2.7",
"core-js": "^3.9.0",
"eslint": "^7.20.0",
"bolt11": "^1.3.1",
"core-js": "^3.11.0",
"eslint": "^7.24.0",
"eslint-config-prettier": "^8.0.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-prettier": "^3.4.0",
"express": "^4.17.1",
"express-rate-limit": "^5.2.6",
"frisbee": "^3.1.4",
"ioredis": "^4.22.0",
"ioredis": "^4.26.0",
"jayson": "^3.4.4",
"morgan": "^1.10.0",
"mustache": "^4.1.0",

View File

@@ -9,18 +9,23 @@ const important_channels = {
uri: '03abf6f44c355dec0d5aa155bdbdd6e0c8fefe318eff402de65c6eb2e1be55dc3e@18.221.23.28:9735',
wumbo: 1,
},
'0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3': {
name: 'coingate.com',
uri: '0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3@3.124.63.44:9735',
},
// '0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3': {
// name: 'coingate.com',
// uri: '0242a4ae0c5bef18048fbecf995094b74bfb0f7391418d71ed394784373f41e4f3@3.124.63.44:9735',
// },
// '0254ff808f53b2f8c45e74b70430f336c6c76ba2f4af289f48d6086ae6e60462d3': {
// name: 'bitrefill thor',
// uri: '0254ff808f53b2f8c45e74b70430f336c6c76ba2f4af289f48d6086ae6e60462d3@52.30.63.2:9735',
// wumbo: 1,
// },
'030c3f19d742ca294a55c00376b3b355c3c90d61c6b6b39554dbc7ac19b141c14f': {
name: 'bitrefill 2',
uri: '030c3f19d742ca294a55c00376b3b355c3c90d61c6b6b39554dbc7ac19b141c14f@52.50.244.44:9735',
// '030c3f19d742ca294a55c00376b3b355c3c90d61c6b6b39554dbc7ac19b141c14f': {
// name: 'bitrefill 2',
// uri: '030c3f19d742ca294a55c00376b3b355c3c90d61c6b6b39554dbc7ac19b141c14f@52.50.244.44:9735',
// wumbo: 1,
// },
'03d607f3e69fd032524a867b288216bfab263b6eaee4e07783799a6fe69bb84fac': {
name: 'bitrefill 3',
uri: '03d607f3e69fd032524a867b288216bfab263b6eaee4e07783799a6fe69bb84fac@3.237.23.179:9735',
wumbo: 1,
},
// '025f1456582e70c4c06b61d5c8ed3ce229e6d0db538be337a2dc6d163b0ebc05a5': {
@@ -40,6 +45,11 @@ const important_channels = {
uri: '02816caed43171d3c9854e3b0ab2cf0c42be086ff1bd4005acc2a5f7db70d83774@35.238.153.25:9735',
wumbo: 1,
},
'02570432c30df86ff7dbe3b49e24e8280411674f96470154cadc76d447e339292b': {
name: 'okcoin',
uri: '02570432c30df86ff7dbe3b49e24e8280411674f96470154cadc76d447e339292b@8.210.75.128:26657',
wumbo: 1,
},
// '0331f80652fb840239df8dc99205792bba2e559a05469915804c08420230e23c7c': {
// name: 'LightningPowerUsers.com',
// uri: '0331f80652fb840239df8dc99205792bba2e559a05469915804c08420230e23c7c@34.200.181.109:9735',
@@ -52,10 +62,10 @@ const important_channels = {
// name: 'fixedfloat.com',
// uri: '037f990e61acee8a7697966afd29dd88f3b1f8a7b14d625c4f8742bd952003a590@185.5.53.91:9735',
// },
'03c2abfa93eacec04721c019644584424aab2ba4dff3ac9bdab4e9c97007491dda': {
name: 'tippin.me',
uri: '03c2abfa93eacec04721c019644584424aab2ba4dff3ac9bdab4e9c97007491dda@157.245.68.47:9735',
},
// '03c2abfa93eacec04721c019644584424aab2ba4dff3ac9bdab4e9c97007491dda': {
// name: 'tippin.me',
// uri: '03c2abfa93eacec04721c019644584424aab2ba4dff3ac9bdab4e9c97007491dda@157.245.68.47:9735',
// },
};
let lightning = require('../lightning');
@@ -143,7 +153,7 @@ lightning.listChannels({}, function (err, response) {
'--connect',
important_channels[important].uri.split('@')[1],
'--local_amt',
important_channels[important].wumbo ? '50000000' : '16777215',
important_channels[important].wumbo ? '100000000' : '16777215',
'--remote_csv_delay 144',
'--sat_per_byte 10',
'#',

View File

@@ -0,0 +1,25 @@
# this script should be used if youre retiring one bitcoind in favor of new one
# it exports all addresses from the old one and prepares script to import them on a new node
#
echo export 1...
./bitcoin-0.21.0/bin/bitcoin-cli -rpcwallet="" -rpcconnect=1.1.1.1 -rpcuser=user -rpcpassword=oldPassword listreceivedbyaddress 0 true true > addresses.txt
echo export 2...
./bitcoin-0.21.0/bin/bitcoin-cli -rpcwallet="wallet.dat" -rpcconnect=1.1.1.1 -rpcuser=user -rpcpassword=oldPassword listreceivedbyaddress 0 true true >> addresses.txt
echo clean...
cat addresses.txt | grep address | sort -u | awk '{print $2}' | sed 's/"//g' | sed 's/,//g' > addresses_clean.txt
echo "got addresses:"
wc -l < addresses_clean.txt
echo writing import_on_other_node.sh ...
>import_on_other_node.sh
chmod +x import_on_other_node.sh
while read in; do
echo "./bitcoin-0.21.0/bin/bitcoin-cli -rpcconnect=2.2.2.2 -rpcuser=user -rpcpassword=newPassword importaddress $in $in false" >> import_on_other_node.sh
done < addresses_clean.txt
echo 'done. dont forget to run ./import_on_other_node.sh and then ./bitcoin-0.21.0/bin/bitcoin-cli -rpcconnect=2.2.2.2 -rpcwallet="wallet.dat" -rpcuser=user -rpcpassword=newPassword rescanblockchain 459491'

View File

@@ -112,8 +112,10 @@ body {
appearance: none;
margin: 0;
padding: 0;
max-width : 100%;
max-width: 100%;
-webkit-appearance: none;
border-radius: 8px;
overflow: hidden;
}
#progressbar[max]::-webkit-progress-value {
border-radius: 8px 4px 4px 8px;