Skip to content

Instantly share code, notes, and snippets.

View sstone's full-sized avatar

Fabrice Drouin sstone

  • ACINQ
  • Paris, France
View GitHub Profile
@sstone
sstone / release-repository.sh
Created March 9, 2021 09:27 — forked from romainbsl/release-repository.sh
Sonatype: close and release a staging repository
#!/usr/bin/env bash
username=
password=
stagedRepositoryId=
while [ "$1" != "" ]; do
case $1 in
-u | --username)
shift
@sstone
sstone / drop-repository.sh
Created March 9, 2021 09:27 — forked from romainbsl/drop-repository.sh
Sonatype: drop a staging repository
#!/usr/bin/env bash
username=
password=
stagedRepositoryId=
while [ "$1" != "" ]; do
case $1 in
-u | --username)
shift
@sstone
sstone / create-repository.sh
Created March 9, 2021 09:27 — forked from romainbsl/create-repository.sh
Sonatype: create a staging repository and pass it as a Github Action output.
#!/usr/bin/env bash
username=
password=
profileId=
description="Creating staging repository."
while [ "$1" != "" ]; do
case $1 in
-u | --username)
@sstone
sstone / estimatefee.sh
Created April 27, 2018 09:29
bitcoin fee logging script
while true; do for i in 1 2 3 4 5 6 10; do echo `date` `bitcoin-cli estimatesmartfee $i`; done; sleep 5m; done | tee bitcoinfees
.log
@sstone
sstone / ln_routing_sync_improvements.md
Last active February 19, 2018 17:45
LN: Improving initial routing sync

Improving initial routing table sync

Summary

I'm pushing for the hash-based solution because it can be implemented and developed quickly and easily and fixes the main issues we've seen on testnet:

  • routing sync on mobile nodes
  • "route not found" errors when you're missing routing info.

It can be deployed as an optional feature and will give us time to specify and implement proper IBLT-based filters. It can be combined with the timestamp approach: nodes would send bucket hashes + low and high watermarks.

@sstone
sstone / eclair-ltc-demo.md
Last active June 22, 2019 06:53
Setting up eclair on Litecoin testnet

Running eclair on Litecoin

We need:

  • A fully synchronized Litecoin node on testnet, with Zmq notifications enabled (this is easily available on Linux only at the moment)
  • Our Lightning Node, eclair, which you can get there: https://github.com/ACINQ/eclair

We then create 3 directories for our eclair node, create an eclair.conf configuration file in each data directory, and all we need to change are the connections ports (so they can connect to the Litecoin client) and the fee rate (so that our opening/closing transactions will be relayed by the Litecoin client). And that’s it ! You can even see in the video that labels are still in BTC/milliBTC.

We then connected A to B, B to C, waited for all funding transactions to be confirmed and all channels announced, made a few payments, closed all channels and waited again for all closing transactions to be confirmed.

@sstone
sstone / interop.md
Created June 29, 2016 09:41
eclair/lightnind automated interop testing
package com.github.sstone.amqp.samples
import akka.actor.{Props, Actor, ActorSystem}
import com.github.sstone.amqp._
import com.github.sstone.amqp.Amqp._
import com.rabbitmq.client.ConnectionFactory
import scala.concurrent.duration._
/**
* simple Consumer sample
@sstone
sstone / WaitTillMessagesArePublished.scala
Created February 7, 2016 18:04
use publisher confirms to wait until all messages have been published
package com.github.sstone.amqp.samples
import akka.actor.{ActorLogging, Actor, ActorSystem, Props}
import com.github.sstone.amqp.Amqp._
import com.github.sstone.amqp.{Amqp, ChannelOwner, ConnectionOwner}
import com.rabbitmq.client.{MessageProperties, ConnectionFactory}
import scala.concurrent.duration._
object WaitTillMessagesArePublished extends App {
@sstone
sstone / monitoring.scala
Created September 21, 2015 18:24
montoring rabbitmq jobs
package com.github.sstone.amqp
import java.util.UUID
import akka.actor.{ActorLogging, Actor, ActorSystem, Props}
import com.github.sstone.amqp.Amqp._
import com.github.sstone.amqp.RpcServer.{IProcessor, ProcessResult}
import com.rabbitmq.client.{AMQP, BasicProperties, ConnectionFactory}
import scala.concurrent.Future