witnet / witnet-solidity-bridge

Witnet Bridge for EVM-compatible blockchains
MIT License
60 stars 24 forks source link

Deploy on Arbitrum Testnets #288

Closed guidiaz closed 1 year ago

guidiaz commented 1 year ago

https://developer.arbitrum.io/intro/

guidiaz commented 1 year ago

The fact that multiple chains can run in parallel is a crucial perk to off-chain scaling technology. Currently, on Ethereum mainnet, there are 2 Arbitrum chains: one Arbitrum Rollup chain, called "Arbitrum One," and one AnyTrust chain, called "Nova"; users and developers can pick whatever suits their security / transaction cost needs.

guidiaz commented 1 year ago

An Arbitrum AnyTrust chain doesn’t have the same decentralization / trustlessness / permissionless security guarantees of a Rollup chain, and thus can offer lower fees. Rollup and AnyTrust are similar in many ways, though have one key difference: whereas in Rollup, all data is posted on L1 (which allows anyone to permissionless join as a validator), in AnyTrust, data is managed off-chain. In the case of a challenge, an AnyTrust chain reverts back to “rollup mode”; the security assumption here is that at least 2 of the committee members are honest (i.e., they will provide the data when it’s necessary). Keeping the data off-chain in the happy/common case means the system can charge the user significantly lower fees. For applications that require high transaction throughput and don’t require the full decentralization that rollups provide, AnyTrust could be a sensible tradeoff.

guidiaz commented 1 year ago

GD: for the time being, we'll just deploy on Arbitrum One Testnet, until some specific support is requested for Arbitrum Nova.

guidiaz commented 1 year ago

Arbitrum/Ethereum Differences:

guidiaz commented 1 year ago

Block numbers and time:

guidiaz commented 1 year ago

Nitro Goerli Rollup Testnet: This testnet (421613) uses the Nitro rollup tech stack; it is expected to be the primary, stable Arbitrum testnet moving forward. Users can now use Alchemy, Infura, and QuickNode to interact with the Arbitrum One.

guidiaz commented 1 year ago

Let's go for Arbitrum Nitro Goerli deployment, then.

guidiaz commented 1 year ago

Bridging 0.5 GoerliETH to 0.5 AGOR in Arbitrum Nitro Goerli:

guidiaz commented 1 year ago

Arbitrum Nitro Goerli:

guidiaz commented 1 year ago

Goerli faucet can be used on ETH/L1, and then bridge those to ARB/ETH/L2 via the Arbitrum Bridge dapp:

(works the same of all Arbitrum chains, as long as they're available on preferred web wallet)

aesedepece commented 1 year ago

Arbitrum Nitro Goerli:

* Chain id: 421613

* RPC: https://goerli-rollup.arbitrum.io/rpc

* Explorer: https://goerli.arbiscan.io, https://goerli-rollup-explorer.arbitrum.io

I sent an Infura URL to you over Telegram, just in case you want to use that!

guidiaz commented 1 year ago

Bridging GoerliETH from L1 to L2 takes like 15 minutes.

guidiaz commented 1 year ago

Script "arbitrum:goerli" added to Web3 RPC gateway. It works by settings

ETHERS_ESTIMATE_GAS_PRICE=true
ETHERS_ESTIMATE_GAS_LIMIT=true
ETHERS_GAS_LIMIT_FACTOR=1.25
ETHERS_MOCK_FILTERS=true
guidiaz commented 1 year ago

Btw, there's also a Twitter faucet for Nitro Goerli linked from the Arbitrum Bridge dapp. It provides like 0,001 AGOR in L2, after a few minutes.

guidiaz commented 1 year ago

Deployed and verified contracts in Arbitrum Nitro Goerli:

guidiaz commented 1 year ago

Related PRs:

guidiaz commented 1 year ago

Both evm accounts for pollers and bridges have been authorized.

guidiaz commented 1 year ago

Create new bridge stack in bootstrap host, named as "bridgearbitrumgoerli".

guidiaz commented 1 year ago

Created change request on https://docs.witnet.io.