Security

Archaeologist Node Network Upgrade Guide


Table of Contents

Getting Tokens & Gas On Each Network

Steps To Upgrade

ENV File Updates

Update Your Archaeologist

Register your Archaeologist

Start Your Archaeologist

The Polygon deployment is complete, and now we are ready for Arbitrum!

If you have not upgraded from L1 only node operations, the first step is upgrading node operators to the new multi-chain architecture!

This migration is optional, as nodes on the older version will still be compatible with the dApp on L1 Ethereum. Any node on the older node version will require the migration to further upgrade their node.

For those who want to setup L2 operations, now you can start onboarding to Polygon & Arbitrum!

Note: The new node architecture allows nodes to run on both Mainnets and Testnets at the same time, but this is optional. You can run on just Mainnets, just Testnets, or any combination of both.

Getting Tokens & Gas On Each Network

Arbitrum

First, add the Arbitrum Network to your wallet here:

https://chainlist.org/?search=arbitrum

You will also need some ETH for gas on Arbitrum.

Next add Arbitrum $SARCO to your wallet.

Arbitrum $SARCO Contract Address: 0x82155ab6b6c1113cfb352c7573b010a88f5974bd

Now you can get Arbitrum $SARCO by either bridging from Ethereum, or buying from the established Uniswap pool on Arbitrum.

Uniswap V3 $SARCO/ETH Pool: https://app.uniswap.org/tokens/arbitrum/0x82155ab6b6c1113cfb352c7573b010a88f5974bd

Bridge tokens from Ethereum to Arbitrum: https://bridge.arbitrum.io/

Polygon

First, add the Polygon Network to your wallet here:

https://chainlist.org/?search=polygon

You will also need some MATIC for gas on Polygon.

Next add Polygon $SARCO to your wallet.

Polygon $SARCO Contract Address: 0x80Ae3B3847E4e8Bd27A389f7686486CAC9C3f3e8

Now you can get Polygon $SARCO by either bridging from Ethereum, or buying from the established Uniswap pool on Polygon.

Uniswap V3 $SARCO/MATIC Pool: https://app.uniswap.org/tokens/polygon/0x80ae3b3847e4e8bd27a389f7686486cac9c3f3e8

Bridge tokens from Ethereum to Polygon: https://wallet.polygon.technology/polygon/bridge/deposit

Ethereum

If you need $SARCO on Ethereum to launch an L1 node or to bridge to Polygon, use the Uniswap pool.

L1 Ethereum $SARCO Contract Address: 0x7697b462a7c4ff5f8b55bdbc2f4076c2af9cf51a

L1 Ethereum $SARCO/ETH pool: https://app.uniswap.org/tokens/ethereum/0x7697b462a7c4ff5f8b55bdbc2f4076c2af9cf51a

Testnets

NOTE: Goerli dApp support will be sunsetting soon. It is recommended to migrate your testnet nodes to Sepolia/PolygonMumbai if you currently operate a node on Goerli.

Polygon Mumbai

First, add the Polygon Mumbai Testnet to your wallet in the bottom right of the page here: https://mumbai.polygonscan.com/

Next, get some Mumbai MATIC: https://faucet.polygon.technology/ or here https://mumbaifaucet.com/

Get Polygon Mumbai $SARCO: https://app.uniswap.org/swap?outputCurrency=0x2BC9019e6d9e6a26D7D8d8CDDa4e5dE9B787D7bb

Polygon Mumbai $SARCO Contract Address: 0x2BC9019e6d9e6a26D7D8d8CDDa4e5dE9B787D7bb

If Testnets are enabled in your wallet, Sepolia/Goerli should automatically be added to your networks list.

Sepolia

Sepolia $SARCO Contract Address: 0xfa1FA4d51FB2babf59e402c83327Ab5087441289

Sepolia ETH: https://sepoliafaucet.com/

Sepolia $SARCO: https://app.uniswap.org/swap?outputCurrency=0xfa1FA4d51FB2babf59e402c83327Ab5087441289

 

If you have any issues with obtaining testnet $SARCO tokens from the pools, you can make a request in the #⛏️node-operators⛏️ chat in Discord. https://discord.gg/sarcophagus-community-753398645507883099

Now that you have the networks added, and you have gas and $SARCO tokens on each chain, you are ready to migrate/launch your node!

For New operators launching a node for the first time, follow the Archaeologist Quickstart guide on Github here: https://github.com/sarcophagus-org/quickstart-archaeologist

Note: BASE has been added to the options, but the contract is not live on BASE yet, so running a node there is not yet available.

For a complete guide to migrate your current node, see Github guide: https://github.com/sarcophagus-org/quickstart-archaeologist/blob/develop/README.md#running-on-multiple-networks

node structure

Steps To Upgrade

These steps can also be viewed in the Sarcophagus Github repo here: https://github.com/sarcophagus-org/quickstart-archaeologist/blob/main/migration-guide.md

The latest updates allow you to run your archaeologist node on multiple networks. The following networks are supported:

  • ETH Mainnet (chain: 1)
  • Polygon Mainnet (chain: 137)
  • ETH Sepolia (chain: 11155111)
  • Polygon Mumbai (chain: 80001)
  • Arbitrum One (chain: 42161)

ENV File Updates

Your .env file will require some changes for the archaeologist to function.

See the .env.example for the latest format of environment variables. These changes are described below.

.env file example> https://github.com/sarcophagus-org/quickstart-archaeologist/blob/main/.env.example

Any networks that you do not want to run on, you can leave their respective environment variables blank and remove the networks' chain ID(s) from the list of CHAIN_IDs.

CHAIN_IDS

In your .env file, set CHAIN_IDS to the chain ids of the networks you would like to run on. For example, if you would like to run on ETH mainnet, Polygon mainnet and ETH Sepolia, you would set CHAIN_IDS="1,137,11155111".

PROVIDER_URLS

See the .env.example for the new formatting of provider URLs.

You will need to add provider urls for any networks you want to run your archaeologist on.

The archaeologist service has been updated to use a websocket provider. Your provider url will need to be updated to continue running. It should now be in the wss::// format. For example, for infura mainnet, it would look like: wss://mainnet.infura.io/ws/v3/<your-infura-api-key>

  • *Note: Your current PROVIDER_URL is no longer needed and can be removed. **

ENCRYPTION_MNEMONICS

See the .env.example for the new formatting of encryption mnemonics.

You should copy your current ENCRYPTION_MNEMONIC to the correct network mnemonic. For example, if you are running on mainnet, copy the ENCRYPTION_MNEMONIC value to MAINNET_ENCRYPTION_MNEMONIC

The ENCRYPTION_MNEMONIC can then be removed from your .env file.

Add encryption mnemonics for any other networks you want to run your archaeologist.

Important note: -- each encryption mnemonic must be unique, do not use the same mnemonic across networks.

Update your Archaeologist

// Destroy + Clean docker images
COMPOSE_PROFILES=service docker compose down --remove-orphans
docker image prune

// Pull latest main branch + pull newest package data
git pull origin main
COMPOSE_PROFILES=service docker compose pull

Register Your Archaeologist

You can now register your archaeologist on multiple networks.

You do not need to re-register your archaeologist on any networks your are currently registered on.

To register:

COMPOSE_PROFILES=register NETWORK=<network> docker compose run register

// `<network>` is the network you would like to register. Available networks are:
mainnet
polygonMainnet
sepolia
polygonMumbai
arbitrum

Start your Archaeologist

// All networks - excluding network flag will automatically run all networks added to CHAIN_IDS
`COMPOSE_PROFILES=service docker compose run up -d`

// Single Network
`COMPOSE_PROFILES=service NETWORK=<network> docker compose run up -d`

Setting up notifications:

The quickstart repository readme has been updated to include instructions on setting up optional notifications. See the README if you would like to set these up.