Skip to content

Instantly share code, notes, and snippets.

@jwasinger
jwasinger / main.js
Created November 23, 2021 05:25
verkle block rlp
const verkleBlockRlp = "f90cc9a019819c343b9a28c84d2cc17450936f426f1471cee8903eca9e42105ff06722d3a000000000000000000000000000000000000000000000000000000000000000009412d96589b343e25ccc305a761395cc1ea67b0e84a01c96c0ef65b0124b1c83cd9172ef952c0a414491ff8d7ad0fef7fca9c9d236a0a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832ffbd282520884619c79738d64616f2d686172642d666f726ba00000000000000000000000000000000000000000

Keybase proof

I hereby claim:

  • I am jwasinger on github.
  • I am jdubya4ever (https://keybase.io/jdubya4ever) on keybase.
  • I have a public key ASB-UyK-yfezXkQy_qZ8VuVIT-2HGwQ5RhJQoXj9Zi1GBgo

To claim this, I am signing this object:

@jwasinger
jwasinger / instructions.md
Last active September 22, 2021 20:27
mev-geth-as-a-plugin demo
go get github.com/jwasinger/geth-mev-plugin
cd $GOPATH/src/github.com/jwasinger/geth-mev-plugin && make

clone https://github.com/jwasinger/mev-geth-demo and copy geth and mev.plugin from geth-mev-plugin into mev-geth-demo folder.

Run Geth: mev-geth-demo/run.sh.

Now run the demo as per instructions in mev-geth-demo.

@jwasinger
jwasinger / memcopies.txt
Created May 27, 2021 15:29
memcopy example
tx: 0x76b00f7304ee723164f116f338c50c5024a9e1116d169974c616f14fa76f5c18
{'copies': [[{'address': '0xc8fb12402cb16970f3c5f4b48ff68eb9d1289301', 'srcOffset': 128, 'srcPC': 962, 'dstOffset': 224, 'dstPC': 966}, {'address': '0xc8fb12402cb16970f3c5f4b48ff68eb9d1289301', 'srcOffset': 160, 'srcPC': 999, 'dstOffset': 256, 'dstPC': 1003}], [{'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 192, 'srcPC': 9160, 'dstOffset': 256, 'dstPC': 9164}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 224, 'srcPC': 3771, 'dstOffset': 448, 'dstPC': 3773}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 256, 'srcPC': 3806, 'dstOffset': 480, 'dstPC': 3810}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 288, 'srcPC': 3834, 'dstOffset': 512, 'dstPC': 3836}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 320, 'srcPC': 3869, 'dstOffset': 544, 'dstPC': 3873}], [{'address': '0xc8fb12402cb16970f3c5f4b48ff68eb9d1289301', 'srcOf
@jwasinger
jwasinger / trace-output.txt
Created May 24, 2021 15:34
memory copy trace output
block: 10537502
tx: 0xc5e46fe1aa43cf057e555166bc0ab6e7672e9a481f0d57ad346d2810d54bcba7
[[{'address': '0x8a9c67fee641579deba04928c4bc45f66e26343a', 'srcOffset': 0, 'srcPC': 2714, 'dstOffset': 0, 'dstPC': 2725}], [{'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 224, 'srcPC': 8366, 'dstOffset': 292, 'dstPC': 8368}, {'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 256, 'srcPC': 8366, 'dstOffset': 324, 'dstPC': 8368}]]
tx: 0x882067da645be051ac46d7faaabcf8b250170f5c4f9d7262a546db96ebe52e52
[[{'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 224, 'srcPC': 8366, 'dstOffset': 292, 'dstPC': 8368}, {'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 256, 'srcPC': 8366, 'dstOffset': 324, 'dstPC': 8368}], [{'address': '0x8a9c67fee641579deba04928c4bc45f66e26343a', 'srcOffset': 0, 'srcPC': 2532, 'dstOffset': 0, 'dstPC': 2543}], [{'address': '0x8a9c67fee641579deba04928c4bc45f66e26343a', 'srcOffset': 0, 'srcPC': 2714, 'dstOffset': 0, 'dstPC':
@jwasinger
jwasinger / op_mcopy_bench.txt
Last active April 14, 2021 16:35
Geth MCOPY bench output
goos: linux
goarch: amd64
pkg: github.com/ethereum/go-ethereum/core/vm
cpu: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz
BenchmarkOpMcopy/64_bytes 31177878 38.82 ns/op
BenchmarkOpMcopy/128_bytes 30576024 39.33 ns/op
BenchmarkOpMcopy/192_bytes 29453343 42.43 ns/op
BenchmarkOpMcopy/256_bytes 28839283 41.15 ns/op
BenchmarkOpMcopy/320_bytes 27700654 43.06 ns/op
BenchmarkOpMcopy/384_bytes 27869232 43.00 ns/op
@jwasinger
jwasinger / Makefile
Last active January 7, 2021 09:40
Instructions for benchmarking Geth-evm384
all:
clang++ -O3 bench.cpp
@jwasinger
jwasinger / main.cpp
Created October 2, 2020 03:29
C++ vs Python (uint128)
#include <stdint.h>
#include <iostream>
int main(int argc, char **argv) {
uint64_t x = 12823323627408599439;
uint64_t y = 5504717096808338412;
__uint128_t res = (__uint128_t)x * y;
std::cout << x << " * " << y << " = " << (uint64_t)res << ", " << (uint64_t)(res >> 64) << std::endl;
@jwasinger
jwasinger / gist:083b59a06ea7c523560b8907b7402689
Created September 29, 2020 23:21
wasmcurves (with subgroup check) vs wasmsnark (without subgroup check)
## wasm-curves:
```
---------------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------------------
fizzy/parse/main_with_websnark_bignum_hostfuncs 1019 us 1019 us 673 rate=127.256M/s size=129.725k
wabt/parse/main_with_websnark_bignum_hostfuncs 2372 us 2372 us 295 rate=54.6813M/s size=129.725k
wasm3/parse/main_with_websnark_bignum_hostfuncs 75.8 us 75.8 us 9217 rate=1.71145G/s size=129.725k
fizzy/instantiate/main_with_websnark_bignum_hostfuncs 1120 us 1120 us 617
for i in [0..vec.len]:
vec[i] = vec[i] * vec[i]
return sorted(vec)