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

WASM Support? #3

Open
johnbotris opened this issue Sep 11, 2020 · 3 comments
Open

WASM Support? #3

johnbotris opened this issue Sep 11, 2020 · 3 comments

Comments

@johnbotris
Copy link

johnbotris commented Sep 11, 2020

Would it be possible to add support for compiling to WebAssembly with emcc for usage as a client puzzle in web applications (assuming that would be an appropriate use of equix)?

I'm currently unable to build due __builtin___clear_cache in HashX compiler_a64.c being unsupported by wasm - If there is another way around this that would be good to know as well

@tevador
Copy link
Owner

tevador commented Sep 24, 2020

Should be fixed in tevador/hashx@69de17c, which is also applied to the master branch of this repository.

However, if you compile EquiX for WASM, it will only run in the interpreted mode, which is very slow and unsuitable as a client puzzle.

I'm thinking to implement a JIT compiler from HashX code into WASM bytecode, which can be dynamically loaded at runtime. That should make the puzzle much more suitable for browsers.

@l1mey112
Copy link

l1mey112 commented Sep 26, 2024

As the developer of RandomX.js, I could be suited to implement this. I already have code for SuperscalarHash, along with JIT infrastructure.

If there are people who would want this, let me know and I will take time to reimplement the library.

@duggavo
Copy link

duggavo commented Oct 20, 2024

EquiX would be very suitable for use as an ASIC-resistant PoW captcha algorithm. +1 for WASM support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants