RLN wrappers and implementation in Go
Go to file
Richard Ramos b09dd99607
refactor: return errors instead of bools and add String funcs
2022-08-04 16:30:53 -04:00
.github/workflows added ci 2021-09-13 23:19:40 +02:00
lib chore: generate static libraries for non apple architectures 2022-07-07 09:14:08 -04:00
libs chore: remove shared objects and rust libraries 2022-07-07 09:14:08 -04:00
rln refactor: return errors instead of bools and add String funcs 2022-08-04 16:30:53 -04:00
scripts chore: generate static libraries for non apple architectures 2022-07-07 09:14:08 -04:00
.gitignore chore: adding .so files 2022-07-05 14:16:28 -04:00
.gitmodules chore: generate static libraries for non apple architectures 2022-07-07 09:14:08 -04:00
LICENSE feat: cross compilation and API refactor (#1) 2022-07-04 13:01:54 -04:00
Makefile chore: rename package to not require replace in go.mod and update to go 1.17 2022-07-07 09:17:05 -04:00
README.md feat: cross compilation and API refactor (#1) 2022-07-04 13:01:54 -04:00
go.mod chore: rename package to not require replace in go.mod and update to go 1.17 2022-07-07 09:17:05 -04:00
go.sum fix: remove contracts 2022-07-05 15:32:54 -04:00

README.md

go-rln

Wrappers for kilic/rln along with an implementation for rate-limiting using RLN inspired by the Waku v2 RLN Relay built by Status.

Further research can be found here:

The goal of this is to create a rate-limiter for blockchains where block production is cheap. I started playing around with this after talking to the team at Celestia.

Building this library

Using cross

make rlnlibs-cross

Some architectures are not available in cross unless they're locally build. This PR will update ubuntu base version on cross. But while it's merged, build them locally. To build them locally execute the following instructions (adapted from here):

git clone --single-branch --depth 1 --branch increment_versions https://github.com/Alexhuszagh/cross
cd cross
cargo build-docker-image x86_64-pc-windows-gnu
cargo build-docker-image aarch64-unknown-linux-gnu
cargo build-docker-image x86_64-unknown-linux-gnu
cargo build-docker-image arm-unknown-linux-gnueabi
cargo build-docker-image i686-pc-windows-gnu
cargo build-docker-image i686-unknown-linux-gnu
cargo build-docker-image arm-unknown-linux-gnueabihf
cargo build-docker-image mips-unknown-linux-gnu
cargo build-docker-image mips64-unknown-linux-gnuabi64
cargo build-docker-image mips64el-unknown-linux-gnuabi64
cargo build-docker-image mipsel-unknown-linux-gnu

Using rustup

make rlnlibs-cross