Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Programming Bitcoin in Rust #34

Closed
tcharding opened this issue Feb 20, 2023 · 19 comments
Closed

Programming Bitcoin in Rust #34

tcharding opened this issue Feb 20, 2023 · 19 comments
Assignees
Labels
Accepted Accepted ACK SM has been posted on social media Workshop Workshops during TABConf 2023

Comments

@tcharding
Copy link

tcharding commented Feb 20, 2023

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.

@thrillerxx
Copy link

Lets make this happen!

@iglesiasbrandon iglesiasbrandon added the Workshop Workshops during TABConf 2023 label Feb 24, 2023
@iglesiasbrandon
Copy link
Collaborator

Hey, @tcharding, thank you for submitting an issue for TABConf 2023! As we get closer to the conference, we will review all the issues, and the chosen ones will be added to the TABConf 2023 schedule: https://github.com/orgs/TABConf/projects/1.

I don't expect us to add any issues to the schedule until a month or two before the conference but keep an eye on this in case someone asks questions. Also, please feel free to update the issue description if you'd like to add anything else as we get closer to the event.

@tcharding
Copy link
Author

Awesome, thanks!

@TKChattoraj
Copy link

As a new convert to Rust, I would be very interested in attending this briefing.

@iglesiasbrandon
Copy link
Collaborator

Hey @tcharding, congratulations, this issue has been accepted for TABConf 2023!

It's been added to the official GitHub Project schedule.
The workshops will be happening on September 6th and 7th; once we accept some more, we will assign the day, time, and location.

@tcharding
Copy link
Author

Awesome, thanks!

@tcharding
Copy link
Author

FTR @apoelstra has indicated that he will not be attending. Mentioning so that I do not get any special treatment because of his name appearing in the original submission (he did originally plan on attending). I'll leave him to respond in public or private as needed.

@iglesiasbrandon
Copy link
Collaborator

Hey @tcharding, no problem; you can update the description of the issue and remove @apoelstra as one of the speakers. that doesn't affect the status of this workshop it is accepted.

@miketwenty1 miketwenty1 added the Accepted Accepted label Jun 21, 2023
@cryptoquick
Copy link

Would you like help? I have memory containers memorized

@tcharding
Copy link
Author

Hey @tcharding, no problem; you can update the description of the issue and remove @apoelstra as one of the speakers. that doesn't affect the status of this workshop it is accepted.

Done, thanks.

@tcharding
Copy link
Author

Would you like help? I have memory containers memorized

I don't understand this comment, sorry.

@cryptoquick
Copy link

Would you like help? I have memory containers memorized

I don't understand this comment, sorry.

Oh, uh, since it's a workshop I was wondering if you'd like someone present who can help and teach others if they run into issues.

@tcharding
Copy link
Author

Yes please, I'd love some help. Perhaps you could email me and we can chat about the approach? me (at) tobin.cc

@iglesiasbrandon iglesiasbrandon added the SM has been posted on social media label Jul 5, 2023
@iglesiasbrandon
Copy link
Collaborator

Hey @tcharding , We have added a day, time slot, and length to this issue.
You can find it on the schedule in this view: https://github.com/orgs/TABConf/projects/1/views/4

Please acknowledge by commenting 'ack'.

This will confirm your workshop for TABConf 2023!
If we need to make any changes, you will be notified on this issue.

@tcharding
Copy link
Author

ACK, thanks. The schedule looks boss!

@miketwenty1
Copy link
Collaborator

@tcharding

We are about a week away from the start of the conference. I'm sending this to all accepted upcoming workshop. Please review and ensure you have a clear, up to date, high level, agenda on this GitHub issue. Please buffer in time to help with unexpected problems and questions.

TABConf workshops should aim to involve high levels participation. If you're planning to conduct a live demo, please consider that attendees will require clear instructions on how to prepare for following along, (all steps for setup should be double checked) and any presentation should be structured accordingly.
Participants should leave the workshop either with something built, (be it physical or digital), or with specific knowledge gained from the hands on/interactive experience.

@tcharding
Copy link
Author

Nice prompting! Checked and edited, thanks.

@iglesiasbrandon
Copy link
Collaborator

Hey @tcharding, I am closing this issue since you have completed the workshop. Thank you for all of the effort you put into it!

@tcharding
Copy link
Author

Legend!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted ACK SM has been posted on social media Workshop Workshops during TABConf 2023
Projects
Status: Accepted
Development

No branches or pull requests

7 participants
@cryptoquick @TKChattoraj @iglesiasbrandon @miketwenty1 @tcharding @thrillerxx and others