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

Create a Docker file for the rollup fullnode #39

Merged
merged 8 commits into from
Mar 12, 2020

Conversation

masonforest
Copy link

Description

Create a Docker file for the rollup fullnode.

Note: This PR uses Gnache as backend. A follow-on PR will be opened to change the backend to the more performant Geth.

Metadata

Fixes

Contributing Agreement

Copy link

@willmeister willmeister left a comment

Choose a reason for hiding this comment

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

Looks good 👍

docker-compose.yml Outdated Show resolved Hide resolved
As the environment varibles were not needed
@masonforest masonforest merged commit 7298859 into master Mar 12, 2020
karlfloersch added a commit to karlfloersch/optimism-monorepo that referenced this pull request Mar 16, 2020
* fix timestamp

* Changing examples package to be more generic (ethereum-optimism#64)

* Changing examples package to be more generic
* Updating default exec manager address

* Add executable fullnode (ethereum-optimism#66)

* Add executable fullnode

* Add better logging with debug mode

* Fix linting bug

* Fixing output bytecode to not have 0x prepended (ethereum-optimism#70)

* Add test for SLOAD and SSTORE shims in the govm (ethereum-optimism#39)

We've forked Geth to intercept calls to the ExecutionManger contract in ethereum-optimism/go-ethereum#1. Add a a test that tests these changes. The test is a copy of the existing simple storage spec with some minor changes. Namely, we don't test that storage events were emitted when ExecutionManager#ovmSSTORE is called because our forked version of Geth doesn't emit events. This also makes a couple changes to test helper file:

We pass in the address of the ExecutionManager to manuallyDeployOvmContract instead of the ExecutionManager itself. This allows us to pass in an address of an ExecutionManager that's already been deployed which we need to do in our new test.

Replace getTransactionReceipt with waitForTransaction. When we were using the Javascript provider transactions would be mined more-or-less immediately. This means that getTransactionReceipt could be called immediately after sendTransaction and the transaction would be ready. When we're talking to a Geth node this may not be the case. Switching to waitForTransaction allows time for the transaction to be mined.

* Truffle ERC-20 Example (ethereum-optimism#69)

Working Truffle Example!
Note: A small hack is required to get this to work -- documented in `packages/examples/truffle-config.js`

Also adds:
* Fix for nonces in ExecutionManager.sol
* Gas limit fix setting it to the required 9_000_000 vs 5_000_000 in the fullnode
* Util for adding padding to strings to make them of a certain length
* Optional `add0x` param on `bufToHexStr(...)`
* Lock around separate txs that are assumed to be run sequentially in DefaultWeb3Handler

Co-authored-by: Mason Fischer <mason@kissr.co>

* Test that nonces are incremented on calls (ethereum-optimism#71)

Before we were only incrementing nonces on CREATE. Wallets expect nonces
to be incremented on CALLs aswell. This test tests that we are in fact
inrementing nonces on CALLs aswell.

Other changes:

* Update the name of the executeCall test

* Configuring OVM in separate truffle config as an easy example of side-by-side standard testing & ovm testing (ethereum-optimism#72)

* pre rebase

* move tests to fullnode pkg;2C

* add txorigin test

* finish dep struggles

* typo

Co-authored-by: Will Meister <william.k.meister@gmail.com>
Co-authored-by: Karl Floersch <karl@karlfloersch.com>
Co-authored-by: Mason Fischer <mason@kissr.co>
snario pushed a commit that referenced this pull request Apr 14, 2021
* add xdomainmessenger to interface

* publish new version
@github-actions github-actions bot mentioned this pull request Sep 20, 2022
protolambda pushed a commit that referenced this pull request Jun 16, 2023
Add missing instructions to README
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

Successfully merging this pull request may close these issues.

None yet

2 participants