spaceandtimelabs / sxt-proof-of-sql

Space and Time | Proof of SQL
Other
1.59k stars 71 forks source link

Add `FixedSizeBinary` with support up to at least 32 bytes. #229

Open JayWhite2357 opened 2 weeks ago

JayWhite2357 commented 2 weeks ago

Background and Motivation

Many data are binary blobs. In particular, the EVM address and hash types are 20 bytes and 32 bytes respectively. We should support these natively within Proof of SQL. See https://docs.rs/arrow/latest/arrow/datatypes/enum.DataType.html#variant.FixedSizeBinary.

Changes Requested

Add full support for a FixedSizeBinary type. In order to do this there are several considerations.

JayWhite2357 commented 2 weeks ago

/bounty $1000

algora-pbc[bot] commented 2 weeks ago

💎 $1,000 bounty • Space and Time

Steps to solve:

  1. Start working: (Optional) Comment /attempt #229 with your implementation plan. Note: we will only assign an issue if you include an implementation plan with a time estimate. Additionally, to be assigned an issue, you must have previously contributed to the project. You can still work on an issue and submit a PR without being assigned.
  2. Submit work: Create a pull request including /claim #229 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to spaceandtimelabs/sxt-proof-of-sql!

Add a bountyShare on socials

Attempt Started (GMT+0) Solution
🟢 @Ashu999 Oct 7, 2024, 10:45:20 AM WIP
Ashu999 commented 2 weeks ago

/attempt #229

Algora profile Completed bounties Tech Active attempts Options
@Ashu999 1 bounty from 1 project
JavaScript, Python,
TypeScript
Cancel attempt
tareknaser commented 2 weeks ago

Hello @JayWhite2357

I’d be happy to take on this issue. I think it could be broken down into multiple PRs for smaller, easier-to-test patches. Let me know if that works for you, or if you’d prefer to handle it all in one go.

I’ve just joined the Discord and would be happy to discuss it further.

JayWhite2357 commented 2 weeks ago

@tareknaser I agree that this makes sense to be broken into smaller PRs. We much prefer smaller PRs over large PRs.

JayWhite2357 commented 2 weeks ago

It looks like there are multiple people working on this issue. It may be wise for you to coordinate via Discord. In the case where there are multiple PRs that get merged from different contributors completing the issue, I will split the bounty according to my best judgement. (Unless the contributors have already agreed on a split.) Alternatively, someone can break this into smaller issues, and I can assign smaller bounties to each.

tareknaser commented 2 weeks ago

It’s a bit tricky to break the issue into clear pieces right now. I think it’ll become clearer once we begin the actual implementation. I can start with a small PR to implement FixedSizeBinary to set the stage for follow-up PRs. During the PR review, we can probably get a better sense of how to proceed.

Would that be okay with you, @Ashu999 ?

Ashu999 commented 2 weeks ago

sure, go ahead @tareknaser