Code Monkey home page Code Monkey logo

Comments (21)

BlinkyStitt avatar BlinkyStitt commented on July 19, 2024 1

Any progress on bringing this into profity? Or is having this in eradicate2 enough?

I would really like to have contract addresses with lots of 0s that are managed from my existing hardware wallet.

from profanity.

gitcoinbot avatar gitcoinbot commented on July 19, 2024

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 1.0 ETH (150.86 USD @ $150.86/ETH) attached to it.

from profanity.

janus avatar janus commented on July 19, 2024

@Arachnid
Which function or what should one do for you here?

from profanity.

janus avatar janus commented on July 19, 2024

@Arachnid
Which function or what should one do for you here?

from profanity.

johguse avatar johguse commented on July 19, 2024

@Arachnid I'll have a look at this. Would you prefer a CUDA application if it's faster? Are you running on nVidia hardware?

from profanity.

gitcoinbot avatar gitcoinbot commented on July 19, 2024

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 5 days, 6 hours from now.
Please review their action plans below:

1) johguse has been approved to start work.

I'm new to GitCoin so not entirely sure what I need to do here. I would read up on the platform but I'm more interested in getting to work on the code. I'll break out the code I need from the profanity project and make a stand-alone application for CREATE2 addresses that takes the address and initcode as command line parameters.

Learn more on the Gitcoin Issue Details page.

from profanity.

johguse avatar johguse commented on July 19, 2024

@Arachnid I've finished a working program. I've tested several modes and verified the results in a small Python script and everything seems to be working. You can find it here: https://github.com/johguse/ERADICATE2

from profanity.

gitcoinbot avatar gitcoinbot commented on July 19, 2024

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 1.0 ETH (145.74 USD @ $145.74/ETH) has been submitted by:

  1. @johguse

@Arachnid please take a look at the submitted work:


from profanity.

Arachnid avatar Arachnid commented on July 19, 2024

Amazing job! It's over 4 times the speed compared to generating ECDSA keypairs. If you have any ideas for further performance optimizations, let me know!

from profanity.

johguse avatar johguse commented on July 19, 2024

I think it's possible to iimprove performance by a few percent. I'll give it a go tomorrow!

from profanity.

Arachnid avatar Arachnid commented on July 19, 2024

One slight problem: "Init code must be shorter than 199 characters". A nonstarter for proper contracts! Maybe you could make it take the hash instead?

from profanity.

johguse avatar johguse commented on July 19, 2024

Yes. Taking the hash via command line is definitely the easiest but I'll look into if I can accept the init code from a file and fix the limit. The 199 limit is because I stripped the Keccak implementation I'm using down to its bare bones removing all the code for accepting arbitrary-length input data so I just need to reintroduce that logic and it should be fine.

from profanity.

Arachnid avatar Arachnid commented on July 19, 2024

Alternately, you could hash it in C, before passing it to the GPU code?

from profanity.

Arachnid avatar Arachnid commented on July 19, 2024

I only just saw your earlier question about CUDA. I am running on NVIDIA hardware. It's a bit late now, but would it be significantly faster in CUDA?

from profanity.

gitcoinbot avatar gitcoinbot commented on July 19, 2024

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 1.0 ETH (146.91 USD @ $146.91/ETH) attached to this issue has been approved & issued to @johguse.

from profanity.

k06a avatar k06a commented on July 19, 2024

@johguse any chance to see this functionality inside profanity?

from profanity.

johguse avatar johguse commented on July 19, 2024

@Arachnid I did a quick and dirty test on CUDA and it seemed to be about maybe 1.5% faster but it was a very crude test but I'll explore it more tonight and get back to you!

from profanity.

johguse avatar johguse commented on July 19, 2024

@Arachnid I've upgraded the above OpenCL version to support init codes of arbitrary lengths as well as reading them from files. I hash the init code in C before passing it to the GPU like you suggested. I most probably won't be able to finish CUDA version tonight but hopefully tomorrow. I would expect less than a 10% performance increase but it still seems worthwhile.

Release: https://github.com/johguse/ERADICATE2/releases/tag/v0.2

@k06a While I do reuse large portions of the profanity code it has more to do with OpenCL and Keccak than generating and evaluating public/private key-pairs so it's easier to just keep the applications separate.

from profanity.

johguse avatar johguse commented on July 19, 2024

@Arachnid My experiments with CUDA didn't yield any extra gains beyond what I'd already achieved in OpenCL but I did manage to improve on the Keccak code a bit. Almost 15% performance increase.

You can find the latest release here: https://github.com/johguse/ERADICATE2/releases/tag/v0.3

I don't think I'll be able to squeeze out that much more so I'll close this ticket in a day or two. I appreciate the bounty and I hope you're satisfied with the result!

from profanity.

k06a avatar k06a commented on July 19, 2024

@johguse do you have single init and precompute keccak256 until salt or repeat these steps for every combination?

from profanity.

auryn-macmillan avatar auryn-macmillan commented on July 19, 2024

Did this feature ever get merged?
It's still open and I don't see a create2 option in the README, but it looks to have been paid out on Gitcoin


EDIT: Oh wait, I see the link to ERADICATE2. Thanks!

from profanity.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.