Accept Answer - Signature Required
A: What is the BOS score of my node?
avatar for visionary-lively-jellyfish
10 months ago by

There's no public formula, however the Lightning Labs devs who created this scoring methodology have provided the some hints behind it. In short the score represents the probability of a node receiving an average-sized payment. Daily, they analyze channel age, size, uptime, node capitalization, uptime, number of channels, neighboring node scores and fee rates. It's still evolving.

Next step

Please sign to accept the answer.

1/ Sign

1. Sign using run:

lncli signmessage '{"action": "Accept", "amt": 1, "post_id": 338, "unixtime": 1631962822}'
  • The command above shows how to sign with LND
  • To sign with c-lightning instead of lncli put lightning-cli
  • To sign with Zap Desktop, click on your node's IP Address, then click on Profile, click Sign Message, and paste the following JSON blob (bellow, under RTL...)
  • To sign with BTCPay Server, click on Server Settings -> Services -> Ride the Lightning server -> See information -> You can go to Ride the Lightning server from your browser by clicking here -> then follow the RTL steps.
  • To sign with Ride The Lightning (RTL), click Lightning -> Sign / Verify, and paste the following JSON blob:
    {"action": "Accept", "amt": 1, "post_id": 338, "unixtime": 1631962822}

2. Copy and paste the signature here:

JSON output of the signmessage command or just text of the signature

How to maintain financial privacy?

Sign and Pay with two different wallets. The wallet used to sign will control your online identity. Since Lightning payments are anonymous, the wallet used for payment is not associated with your online identity actions.

What happens if I sign this?

The following information is going to be associated with the post and made publicly visible.
  • Signing wallet's pubkey
    • by pubkey we mean the Lightning Network Node wallet identity_pubkey
    • this can be a different pubkey then what will be used for payment. Because of the way Lightning network operates, we cannot tell what pubkey was used to make the payment.
  • Statistics such as number of posts, up-votes, and reputation score
  • There will also be a "pen name" and an avatar image generated based on the pubkey

2/ Pay to accept

The post will be accepted after a payment is made on the Lightning Network using the invoice. Payment of 2 sats is required.

Regarding privacy

This website does not use cookies. You can also hide your IP address by using Tor or a VPN service. All the information that you entered is encoded in the URL of this webpage.
The website gets information from you only via URL parameters, HTML forms, and Lightning payments. Not via Java Script or Cookies. Data collected via HTML forms is only used for generating Lightning invoices. Payments of invoices are required for all actions on the website such as posting, commenting, and upvoting. Data is published only when you make a Lightning payment. All data published here is publicly accessible.

What information is saved in the URL and invoice?

The URL of this page encodes the work in-progress. The URL encodes only what's visible on this page. Specifically, the content of the post and timestamp. It does not contain your IP address, or any other data that can identify the person or people involved in writing the post. If you choose to sign this post, then the URL will also contain your wallet's pubkey. This URL and the lightning invoice (created in next step) contain the same information about what is going to be published.

How can I verify what information is encoded in the URL and invoice?

You can decode the URL with python 3 like so
echo PUT_URL_HERE | python3 -c 'import zlib, binascii, urllib.parse, sys; url = sys.stdin.readline(); url = url.rstrip("/\n"); "## drop trailing newline"; memo = url.split("/", 6)[6]; "## drop"; memo = memo.split("_", 1)[1]; "## drop ln.support_ memo prefix"; memo = memo.rstrip("/"); "## drop trailing /"; memo = urllib.parse.unquote(memo); "## url encdoding"; decoded = zlib.decompress(binascii.a2b_base64(memo)).decode("utf-8"); print(decoded); ' | python3 -m json.tool

You can decode the payment invoice with lnd command line like so
lncli decodepayreq PUT_INVOICE_HERE

To accept answer, you must sign the memo message. Please scroll up and press the blue "Accept Answer" button.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by ln-central open soruce Q&A software running code change a5ae7af8 which was committed 9 months ago