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

feat: add otterscan to sandbox #2648

Merged
merged 8 commits into from
Oct 5, 2023
Merged

feat: add otterscan to sandbox #2648

merged 8 commits into from
Oct 5, 2023

Conversation

dan-aztec
Copy link
Contributor

@dan-aztec dan-aztec commented Oct 3, 2023

adds a local otterscan block explorer for the anvil ethereum mainnet, helps to see what's happening on the base network. (they recently added support for otterscan in anvil)

the transactions/calls are not decoded, so right now it's primarily useful if we are using portal contracts - hard to tell what the rollup contracts are doing.

sets the local otterscan at http://localhost:5100/

Screen.Recording.2023-10-03.at.5.46.35.PM.mov

@dan-aztec dan-aztec changed the title bump anvil and add otterscan image feat: add otterscan to sandbox Oct 3, 2023
@@ -1,7 +1,7 @@
version: '3'
services:
ethereum:
image: ghcr.io/foundry-rs/foundry:v1.0.0
image: ghcr.io/foundry-rs/foundry@sha256:29ba6e34379e79c342ec02d437beb7929c9e254261e8032b17e187be71a2609f
Copy link
Contributor Author

@dan-aztec dan-aztec Oct 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

had to use a later version for otterscan support - this one is tagged "latest" as of October 3rd 2023 (its ~a week older than the nightly builds, stable is ~3 months old but new tag getting pushed soon)


otterscan:
image: otterscan/otterscan:v2.0.0
platform: linux/amd64
Copy link
Contributor Author

@dan-aztec dan-aztec Oct 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no arm64 build right now, but it's being worked on today

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated otterscan tag to develop which has multiarch images

@LHerskind
Copy link
Contributor

Cool! It cannot decode the rollup because it is just raw bytes. We are manually decoding it while computing hashes etc to reduce gas 😬.

@rahul-kothari
Copy link
Contributor

For portals, this will be extremely helpful in that I can see what L1 transactions happened! Also could be good to debug content_hash bugs where you want to know what args were passed by other contracts!

Copy link
Contributor

@LHerskind LHerskind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good to add a page in the docs or readme somewhere to make sure that people know that it exsits.

@@ -24,3 +24,14 @@ services:
ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500
volumes:
- ./log:/usr/src/yarn-project/aztec-sandbox/log:rw

otterscan:
image: otterscan/otterscan:develop
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

asked if they can update the stable tag, but i think this is OK for now

@catmcgee catmcgee self-requested a review October 5, 2023 10:59
environment:
# otterscan env var is hardcoded to support erigon client
# but it also works for anvil
- ERIGON_URL=http://127.0.0.1:${SANDBOX_ANVIL_PORT:-8545}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dan-aztec
Copy link
Contributor Author

dan-aztec commented Oct 5, 2023

otterscan doesnt use much resources

image

@dan-aztec dan-aztec enabled auto-merge (squash) October 5, 2023 11:08
@dan-aztec dan-aztec merged commit 6986649 into master Oct 5, 2023
2 checks passed
@dan-aztec dan-aztec deleted the dan/try-otterscan-sandbox branch October 5, 2023 11:10
@wmitsuda
Copy link

wmitsuda commented Oct 5, 2023

otterscan doesnt use much resources

hi, the docker image is only a nginx serving a React application, so it is very lightweight. Which means that you could even throw away nginx and bundle ots in a even lighter webserver for embedded use cases.

The hard work is done by the node implementation (Erigon or anvil emulating the Otterscan API).

critesjosh pushed a commit that referenced this pull request Oct 9, 2023
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-packages: 0.8.8</summary>

##
[0.8.8](aztec-packages-v0.8.7...aztec-packages-v0.8.8)
(2023-10-09)


### Features

* Actually compute selectors
([#2686](#2686))
([dcb65e1](dcb65e1))
* Add otterscan to sandbox
([#2648](#2648))
([6986649](6986649))
* **aztec.js:** Remove attach method
([#2715](#2715))
([c03c654](c03c654))
* Create .gitattributes in aztec-nr
([#2661](#2661))
([8084fc3](8084fc3))
* GCC 13 preset
([#2623](#2623))
([4881414](4881414))
* Update noir to v0.16
([#2718](#2718))
([e8d0675](e8d0675))


### Bug Fixes

* Avoid ambiguity on blank and blank-react (prefix issue)
([#2729](#2729))
([68cdb3f](68cdb3f))
* Block encoding
([#2719](#2719))
([c4796ac](c4796ac))
* Canary tests to use a fork
([#2739](#2739))
([4906142](4906142))
* Challenge generation update
([#2628](#2628))
([68c1fab](68c1fab))
* Docs: Sandbox version numbers
([#2708](#2708))
([34b0209](34b0209))
* Docs: Update Sandbox page to use #include_aztec_version
([#2703](#2703))
([d5b78af](d5b78af))
* Remove npx from extract_tag_version
([#2697](#2697))
([fe4484a](fe4484a))
* Version in sandbox deployment
([#2730](#2730))
([b1d8efd](b1d8efd))


### Miscellaneous

* `foundation/src/serialization` tech debt
([#2722](#2722))
([e92154b](e92154b))
* Add node10 entrypoint to Foundation
([#2706](#2706))
([30c7935](30c7935))
* Add storage slot to docs
([#2601](#2601))
([a7710f0](a7710f0))
* Add visibility modifiers
([#2728](#2728))
([d9ae189](d9ae189))
* **benchmark:** Measure time to decrypt notes in pxe
([#2714](#2714))
([33a230a](33a230a))
* Build boxes as part of workspace
([#2725](#2725))
([d18349f](d18349f))
* Bump ACIR deserializer
([#2675](#2675))
([502ee87](502ee87))
* **circuits:** Delete old code that set a different generator index per
vector entry in pedersen commitment
([#2700](#2700))
([4eabfd1](4eabfd1))
* **log:** Show log level in debug logs
([#2717](#2717))
([2b87381](2b87381))
* Move { Fr } imports to foundation/fields
([#2712](#2712))
([f6fc7f2](f6fc7f2))
* **uniswap_tests:** Test edge cases around uniswap flow
([#2620](#2620))
([7a58fe9](7a58fe9))
* Use `serialize` functions in `getInitialWitness`
([#2713](#2713))
([93cc668](93cc668))
</details>

<details><summary>barretenberg.js: 0.8.8</summary>

##
[0.8.8](barretenberg.js-v0.8.7...barretenberg.js-v0.8.8)
(2023-10-09)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg: 0.8.8</summary>

##
[0.8.8](barretenberg-v0.8.7...barretenberg-v0.8.8)
(2023-10-09)


### Features

* GCC 13 preset
([#2623](#2623))
([4881414](4881414))


### Bug Fixes

* Challenge generation update
([#2628](#2628))
([68c1fab](68c1fab))


### Miscellaneous

* Bump ACIR deserializer
([#2675](#2675))
([502ee87](502ee87))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Oct 10, 2023
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-packages: 0.8.8</summary>

##
[0.8.8](AztecProtocol/aztec-packages@aztec-packages-v0.8.7...aztec-packages-v0.8.8)
(2023-10-09)


### Features

* Actually compute selectors
([#2686](AztecProtocol/aztec-packages#2686))
([dcb65e1](AztecProtocol/aztec-packages@dcb65e1))
* Add otterscan to sandbox
([#2648](AztecProtocol/aztec-packages#2648))
([6986649](AztecProtocol/aztec-packages@6986649))
* **aztec.js:** Remove attach method
([#2715](AztecProtocol/aztec-packages#2715))
([c03c654](AztecProtocol/aztec-packages@c03c654))
* Create .gitattributes in aztec-nr
([#2661](AztecProtocol/aztec-packages#2661))
([8084fc3](AztecProtocol/aztec-packages@8084fc3))
* GCC 13 preset
([#2623](AztecProtocol/aztec-packages#2623))
([4881414](AztecProtocol/aztec-packages@4881414))
* Update noir to v0.16
([#2718](AztecProtocol/aztec-packages#2718))
([e8d0675](AztecProtocol/aztec-packages@e8d0675))


### Bug Fixes

* Avoid ambiguity on blank and blank-react (prefix issue)
([#2729](AztecProtocol/aztec-packages#2729))
([68cdb3f](AztecProtocol/aztec-packages@68cdb3f))
* Block encoding
([#2719](AztecProtocol/aztec-packages#2719))
([c4796ac](AztecProtocol/aztec-packages@c4796ac))
* Canary tests to use a fork
([#2739](AztecProtocol/aztec-packages#2739))
([4906142](AztecProtocol/aztec-packages@4906142))
* Challenge generation update
([#2628](AztecProtocol/aztec-packages#2628))
([68c1fab](AztecProtocol/aztec-packages@68c1fab))
* Docs: Sandbox version numbers
([#2708](AztecProtocol/aztec-packages#2708))
([34b0209](AztecProtocol/aztec-packages@34b0209))
* Docs: Update Sandbox page to use #include_aztec_version
([#2703](AztecProtocol/aztec-packages#2703))
([d5b78af](AztecProtocol/aztec-packages@d5b78af))
* Remove npx from extract_tag_version
([#2697](AztecProtocol/aztec-packages#2697))
([fe4484a](AztecProtocol/aztec-packages@fe4484a))
* Version in sandbox deployment
([#2730](AztecProtocol/aztec-packages#2730))
([b1d8efd](AztecProtocol/aztec-packages@b1d8efd))


### Miscellaneous

* `foundation/src/serialization` tech debt
([#2722](AztecProtocol/aztec-packages#2722))
([e92154b](AztecProtocol/aztec-packages@e92154b))
* Add node10 entrypoint to Foundation
([#2706](AztecProtocol/aztec-packages#2706))
([30c7935](AztecProtocol/aztec-packages@30c7935))
* Add storage slot to docs
([#2601](AztecProtocol/aztec-packages#2601))
([a7710f0](AztecProtocol/aztec-packages@a7710f0))
* Add visibility modifiers
([#2728](AztecProtocol/aztec-packages#2728))
([d9ae189](AztecProtocol/aztec-packages@d9ae189))
* **benchmark:** Measure time to decrypt notes in pxe
([#2714](AztecProtocol/aztec-packages#2714))
([33a230a](AztecProtocol/aztec-packages@33a230a))
* Build boxes as part of workspace
([#2725](AztecProtocol/aztec-packages#2725))
([d18349f](AztecProtocol/aztec-packages@d18349f))
* Bump ACIR deserializer
([#2675](AztecProtocol/aztec-packages#2675))
([502ee87](AztecProtocol/aztec-packages@502ee87))
* **circuits:** Delete old code that set a different generator index per
vector entry in pedersen commitment
([#2700](AztecProtocol/aztec-packages#2700))
([4eabfd1](AztecProtocol/aztec-packages@4eabfd1))
* **log:** Show log level in debug logs
([#2717](AztecProtocol/aztec-packages#2717))
([2b87381](AztecProtocol/aztec-packages@2b87381))
* Move { Fr } imports to foundation/fields
([#2712](AztecProtocol/aztec-packages#2712))
([f6fc7f2](AztecProtocol/aztec-packages@f6fc7f2))
* **uniswap_tests:** Test edge cases around uniswap flow
([#2620](AztecProtocol/aztec-packages#2620))
([7a58fe9](AztecProtocol/aztec-packages@7a58fe9))
* Use `serialize` functions in `getInitialWitness`
([#2713](AztecProtocol/aztec-packages#2713))
([93cc668](AztecProtocol/aztec-packages@93cc668))
</details>

<details><summary>barretenberg.js: 0.8.8</summary>

##
[0.8.8](AztecProtocol/aztec-packages@barretenberg.js-v0.8.7...barretenberg.js-v0.8.8)
(2023-10-09)


### Miscellaneous

* **barretenberg.js:** Synchronize aztec-packages versions
</details>

<details><summary>barretenberg: 0.8.8</summary>

##
[0.8.8](AztecProtocol/aztec-packages@barretenberg-v0.8.7...barretenberg-v0.8.8)
(2023-10-09)


### Features

* GCC 13 preset
([#2623](AztecProtocol/aztec-packages#2623))
([4881414](AztecProtocol/aztec-packages@4881414))


### Bug Fixes

* Challenge generation update
([#2628](AztecProtocol/aztec-packages#2628))
([68c1fab](AztecProtocol/aztec-packages@68c1fab))


### Miscellaneous

* Bump ACIR deserializer
([#2675](AztecProtocol/aztec-packages#2675))
([502ee87](AztecProtocol/aztec-packages@502ee87))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants