Skip to content

Instantly share code, notes, and snippets.


fiatjaf fiatjaf

View GitHub Profile
fiatjaf / lightning-daemon-features
Last active Apr 4, 2020
lightning node versions
View lightning-daemon-features
c-lightning 0.6 88
c-lightning 0.6.1 8a
c-lightning 0.6.2 8a
c-lightning 0.6.3 88
c-lightning 0.7.0 8a
c-lightning 0.7.1 aa
c-lightning aa
c-lightning 0.7.3 28a2
c-lightning 0.8.0 02aaa2
c-lightning 0.8.1 02aaa2
fiatjaf / channels-as-htlcs-idea.txt
Last active Mar 3, 2020
lightning network improved
View channels-as-htlcs-idea.txt
HTLCs below the dust limit are not possible, because they're uneconomical.
So currently whenever a payment below the dust limit is to be made Lightning peers adjust their commitment transactions to pay that amount as fees in case the channel is closed. That's a form of reserving that amount and incentivizing peers to resolve the payment, either successfully (in case it goes to the receiving node's balance) or not (it then goes back to the sender's balance).
I didn't think too much about if it is possible to do what I think can be done in the current implementation on Lightning channels, but in the context of Eltoo it seems possible.
Eltoo channels have UPDATE transactions that can be published to the blockchain and SETTLEMENT transactions that spend them (after a relative time) to each peer. The barebones script for UPDATE transactions is something like (copied from the paper, because I don't understand these things):
fiatjaf / trust-minimized-bmm-miner.txt
Last active Feb 21, 2020
merged-mined parallel chains without native currency
View trust-minimized-bmm-miner.txt
+------+ +-------+ +---------+
+-------> | | +-------------------------> | | - - - - - - - - - - - - - - -> |potential|
| BMM | | BMM | | BMM |
|block | | block | | block |
| | | | - - - - - -> | | +---- - - -
+------+ +-------+ | +---------+ |
tx A
| |
fiatjaf /
Created Dec 24, 2019
Mensagem de Natal 2009, Olavo de Carvalho

Christmas 2009

Musically, some prefer Tristan and Isolde, but in the matter of dramatic power and richness of meaning, Wotan’s final aria in The Valkyrie, “Leb Wohl” (Farewell), is doubtless the pinnacle of Richard Wagner’s work. What does that have to do with Christmas? Hold on a while, and let me recall the scene.

Pressured by his wife Fricka, who urges him to fulfill his duties as maintainer of the cosmic order, Wotan, the Germanic counterpart of Zeus, unwillingly promises to punish by death his grandson Siegmund—guilty of adultery and incest with his sister Sieglinde. To achieve this goal, Wotan sends his dearest daughter, Brünnhilde, to the place where Sieglinde’s husband will fight a duel with Siegmund, to ensure that Siegmund, deprived of all divine assistance, is killed in the duel. At the decisive moment, Brünnhilde allows herself to be overcome with compassion for Siegmund, and disobeying the order she received, attempts to protect him. Wotan has to intervene personally, breaking Si

fiatjaf /
Last active Dec 26, 2019
lnurl snippets
import hashlib
import json
from flask import Flask, jsonify, request
app = Flask(__name__)
def lnurl_one():
return jsonify({
fiatjaf / .gitignore
Last active May 16, 2020
hsm_secret and custom invoices with lnurl on c-lightning
View .gitignore
fiatjaf /
Last active Apr 27, 2019
etleneum htlc contract

A contract that can handle multiple "HTLCs" -- in the sense that these are just values parked at the contract that can be claimed by anyone with the correct preimage during some time. After the expiration time they can then be claimed by another different preimage.


  • method: open
View providers.js
export const providers = {
alias: {
desc: 'Alias for a existing remote',
options: [
name: 'remote',
'Remote or path to alias.\nCan be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path".',
required: true
View aposta.txt
1. homicídios por ano
2. mulheres mortas pelos companheiros
3. fim do foro privilegiado
4. desemprego
5. pib
6. inflação
7. taxa de desmatamento
8. estupros
fiatjaf / check_sig.go
Last active Jul 31, 2019 — forked from lsowen/check_sig.go
GPG signature verification in Go with a bunch of strings
View check_sig.go
package main [33/492]
import (
func main() {
You can’t perform that action at this time.