Better Cryptography and Blockchain Support

Hello all! Founder of Defund Finance (https://defund.app/) and Calypso here. I am a huge Julia user but tend to always be in Goland, Rust, or Nodejs when developing for my blockchain companies. There is a lot of use cases for Julia within the decentralized space but not a bunch of work coming out of it. I am a major Cosmos SDK contributor and pretty engulfed in the Cosmos ecosystem. I am starting to build a Cosmos IBC relayer in Julia GitHub - schnetzlerjoe/julia-relayer: A super fast, multi-threaded IBC relayer built with Julia. as I think the task scheduler and multi-threading is a great use case for building a high-performance off-chain relayer.

Am curious to hear about crypto packages Julia has. Seems I will have to be using PyCall a lot within the relayer. Wish there was better support.

Thanks!

1 Like

I haven’t kept up with cryptography in recent years, but it would seem to me that it would make more sense to skip the Python middle-layer and call something like these Rust libraries directly.

There should also be good crypto libraries in C/C++.

3 Likes

Some years ago I have written BTCParser.jl [1] with the idea to do data science on the BTC block chain. It worked great but is unmaintained now. IIRC there was someone trying to implement a BTC node/client but I am not sure if this got anywhere, I think it was [2].

[1] GitHub - gdkrmr/BTCParser.jl: A Bitcoin blockchain parser in pure Julia

[2] braneproject / BitcoinPrimitives.jl · GitLab

1 Like

Yeah I am building out a cryptography.jl library wrapping GitHub - JuliaBinaryWrappers/OpenSSL_jll.jl and GitHub - JuliaBinaryWrappers/Libgcrypt_jll.jl that will help to get me where I need for signing with Cosmos SDK. From there anyone can feel free to expand, I will do my best to as well.

Whats the best way to bind/call Rust from Julia?

Extern C on rust, ccall on Julia

There’s also JuliaPackageWithRustDep.jl. I haven’t used it.