Skip to content

Programming Bitcoin in Rust #34

Description

@tcharding

Description

This workshop will give attendees a chance to play around with rust-bitcoin. The rust-bitcoin crate is a low level crate used by popular Rust Bitcoin projects like BDK, LDK, and electrs. The point of this workshop is to help devs get more familiar with the library below these great projects and foster cross communication between the various projects.

What is this workshop about? Provide as many details as possible.

We are running this workshop because we think programming Bitcoin in Rust is a useful endeavour but also because we think it is just plain fun. While higher level libraries do hide a lot of the complexity of rust-bitcoin from application developers it is still useful to get your hands dirty and know exactly what one can and cannot do with rust-bitcoin. Also this is a selfish push by us rust-bitcoin devs to get your feedback on the library and see ways we can make it better for you guys at the application layer. We have spent literally hours debating exactly what to call functions like absolute::LockTime::from_consensus to achieve our stated aims of making the library intuitive to hardcore Bitcoin hackers and newcomers alike while removing foot-guns so we can help devs help users hold on to their corn.

Proposed content, but we are totally open to other ideas. Basically we will turn up with a few ideas and a bunch of skeleton code and see how the room feels.

EDIT: I've hacked up a three tasks, skeleton code and solutions. You can check it out here

What would an attendee learn from this workshop?

Hopefully you will learn a bunch of interesting things in this workshop, for example:

  • How to use the rust-bitcoin API.
  • When you should be using the rust-bitcoin API and when you should just rely on libraries higher up the stack. EDIT: Perhaps you'll need to attend the bdk workshop later in the day to work this out.
  • Things one cannot do with rust-bitcoin (come suggest to us why you should be able to do them).
  • What developments are in progress at the moment (i.e., "Why do you guys keep changing stuff?").
  • And importantly, that rust-bitcoin is an approachable project that you can definitely get involved with if it interests you. We are a bunch of devs just trying to do what we can to create a library that is useful and correct (with some pretty strong opinions about what is correct :)

Is there anything attendees should read up on before they attend this talk?

You could flick through the rust-bitcoin online documentation and/or clone the rust-bitcoin git repository and have a poke around.

Is there anything attendees should set up before the workshop?

You should clone the workshop repo and set up a bitcoind regtest node on your laptop if you plan on doing the advanced pico-bitcoin-wallet task.

Relevant Links

About the Speaker

Hopefully we will have a few of the devs from the rust-bitcoin project there, will update as folks
confirm they are attending. Tobin Harding will run the workshop, hopefully with the help of some other maintainers from the project.

Would be great to have some devs from projects using rust-bitcoin in the room also.

Social Links

Github: https://github.com/tcharding
Website: http://tobin.cc
Email: me at tobin.cc (Tobin doesn't twitter)

Workshop Details

Length of workshop

Scheduled for 2 hours (starts at 1pm). I plan on attending the bdk workshop at 4pm so if there is space I'm happy to hang around the extra hour until then.

Metadata

Metadata

Assignees

Labels

ACKAcceptedAcceptedSMhas been posted on social mediaWorkshopWorkshops during TABConf 2023

Type

No type

Projects

Status
Accepted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions