Arbitrum is a Layer 2 cryptocurrency platform that makes smart contracts scalable, fast, and private. Arbitrum interoperates closely with Ethereum, so Ethereum developers can easily cross-compile their contracts to run on Arbitrum. Arbitrum achieves these goals through a unique combination of incentives, network protocol design, and virtual machine architecture. Arbitrum has three modes: channels, AnyTrust sidechains, and rollup. Channels and sidechains provide the AnyTrust Guarantee which ensures that the code will run correctly as long as any validator is honest.
Want to learn more? Join the team on Discord, follow the developer guide, and read the white paper!
Arbitrum technologies are patent pending. This repository is offered under the Apache 2.0 license. See LICENSE for details.
Clone the monorepo to get started:
git clone -b master --depth=1 -c advice.detachedHead=false https://github.com/OffchainLabs/arbitrum.git
cd arbitrum
yarn
yarn install:deps
yarn build
# In one session
yarn docker:build:geth
yarn docker:geth
# In another session
cd demos/pet-shop
truffle migrate --reset --compile-all --network arbitrum
cd ../..
./scripts/setup_local_rollup.py --geth demos/pet-shop/contract.ao 3
./scripts/arb_deploy.py validator-states
# In a third session:
cd demos/pet-shop && yarn start
Next, setup Metamask with a new account and the mnemonic:
jar deny prosper gasp flush glass core corn alarm treat leg smart
or use your existing account with the private key derived from the previous mnemonic:
0x41a9550a0ae23fd52f3b99acab194db2e4474262db64dfd46807bca9e061e211
You will also need to switch networks to http://localhost:7545
to connect to the Ganache started by the arb_deploy.py
script before adopting your pets.