Skip to content

Instantly share code, notes, and snippets.

View jooray's full-sized avatar

Juraj Bednar jooray

View GitHub Profile
@jooray
jooray / lnbank_balances.md
Created February 29, 2024 18:45
How to settle lnbank balances after lnbank being deprecated

Connect to PSQL:

docker exec -it $(docker ps -a -q -f "name=postgres_1") psql -U postgres -d btcpayservermainnet
set search_path to "BTCPayServer.Plugins.LNbank";

Then you can see wallets:

@jooray
jooray / yt-whisper
Created February 5, 2023 21:09
A script to download an audio from a video from a streaming platform such as youtube and transcribe it to text using whisper.cpp
#!/bin/bash
# Usage: yt-whisper URL [OUTPUT_FILENAME_TEMPLATE [LANGUAGE]]
# If OUTPUT_FILENAME_TEMPLATE is empty, output is yt-whisper-video
# If LANGAUGE is empty, it is set to "auto"
# General settings (paths) for whisper.cpp
# Note - this uses whisper.cpp, not official whisper. Get it at
# https://github.com/ggerganov/whisper.cpp
# You will have to adjust these
@jooray
jooray / monero-search.js
Created April 13, 2023 21:47
A way to search for monero transactions with particular inputs in ring groups
const monerojs = require('monero-javascript');
const cliProgress = require('cli-progress');
async function scanForInputs() {
// parameters
const rpc = await monerojs.connectToDaemonRpc('http://localhost:18081');
const min_height = 2853173;
@jooray
jooray / chat-vicuna.sh
Created April 8, 2023 16:58
A modified chat-13B.sh script from llama.cpp to change prompt to the style vicuna model was trained.
#!/bin/bash
cd "$(dirname "$0")/.." || exit
MODEL="${MODEL:-./models/13B-vicuna/ggml-vicuna-13b-4bit-rev1.bin}"
USER_NAME="${USER_NAME:-Human}"
AI_NAME="${AI_NAME:-Assistant}"
# Adjust to the number of CPU cores you want to use.
N_THREAD="${N_THREAD:-8}"
@jooray
jooray / alpacoom-mps.py
Created March 28, 2023 14:42
Running alpacoom model on MPS (Apple Silicon) using HuggingFace Transformers and Peft
import os
import torch
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
import sys
os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
peft_model_id = "mrm8488/Alpacoom"
@jooray
jooray / whisper-file
Last active February 21, 2023 22:12
Use whisper speech to text on an audio or video file regardless of codec, autodetect language
#!/bin/bash
# Usage: whisper-file FILE [LANGUAGE]
# If LANGAUGE is empty, it is set to "auto"
# General settings (paths) for whisper.cpp
# Note - this uses whisper.cpp, not official whisper. Get it at
# https://github.com/ggerganov/whisper.cpp
WHISPER_MODEL=/Users/test/whisper.cpp/models/ggml-large.bin
WHISPER_BIN=/Users/test/whisper.cpp/main
@jooray
jooray / install-lnd
Last active February 4, 2022 18:13
Install LND neutrino mainnet
#!/bin/bash
# Check the most recent LND_TAG at
# https://github.com/lightningnetwork/lnd/releases
export LND_TAG=1e511be523eb8e97c4e2d9c89a7a263963a3929f
# install lnd
git clone https://github.com/lightningnetwork/lnd $GOPATH/src/github.com/lightningnetwork/lnd
cd $GOPATH/src/github.com/lightningnetwork/lnd
git checkout $LND_TAG
# enabling mainnet on neutrino is in main branch since 0.8x, only uncomment for tag <0.8
#git fetch https://github.com/halseth/lnd.git mainnet-neutrino && git cherry-pick dbd3ca7be48027d8eda557e3c22268497ecc6b25
@jooray
jooray / opt-add-monerod-listen.custom
Created November 10, 2020 12:47
A docker-compose fragment for btcpayserver to expose monerod RPC port to localhost. I am running a full node, let's make it accessible to my wallets!
version: "3"
services:
monerod:
ports:
- "127.0.0.1:18081:18081"

Proof of concept DLC channels

DLC channels combine the ideas of Discreet Log Contracts and bidirectional payment channels (without the Lightning network) on top of Bitcoin Lightning Network. It is one of the first settlement implementation of Debnk protocol.

We believe that DLC channels can be also implemented on top of Elements/Liquid, but probably without confidential transactions. (TODO: Verify)

Discreet log contracts

Discreet log contracts are simple contracts that use on-chain multisig capability. Let's say that Alice and Bob want to enter an (inverse) perpetual swap contract based on the price of Bitcoin in USD. Alice goes long 1000 USD, Bob goes short 1000 USD. They both post some collateral (let's say 0.05 BTC each). The price of Bitcoin is 8000 USD at the time of the opening of the contract. The contract expires and the funds are distributed based on the price of Bitcoin on Friday noon.

@jooray
jooray / keys.pub auth
Created May 11, 2020 10:04
keys.pub auth
BEGIN MESSAGE.
WlbNxS5zYPMlZD2 luUjoVuqpehn4lu 7GOTkpFbxN8l2iK arNa57hbs0SHERZ
MEgsd7ug647Bxrs 8veqIOcLcoNTCKq 6Xr2MZHgg6NbhWm k2yIIcYZHQ397Ru
TdUBTc5LFCf5oT9 iMZxgjEMKocEulm EeILzZyKntDUlgG 90S1g2SNoR0tuL5
27EIx4aprCwBQgM vBbYtCMq0PJip8a BT1QA21.
END MESSAGE.