Runing Goshen Node

You can run a Goshen validator node by fetching the batches from L1 chain, and derive all the L2 states. The following steps will setup a validator node for the Georli testnet

Install Goshen Node

git clone https://github.com/goshennetwork/goshen-node
cd goshen-node
make all

The built binary will be located in build/bin directory.

Initialize genesis block

make directory ./build/bin/goerli and generate genesis.json file with the following content.

mkdir ./build/bin/goerli && cd ./build/bin/goerli
{
  "config": {
    "chainId": 21772,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "layer2Instant": {
      "l2CrossLayerWitness": "0x2210000000000000000000000000000000000221",
      "feeCollector": "0xfee0000000000000000000000000000000000fee"
    }
  },
  "nonce": "0x0",
  "timestamp": "0x62bdc880",
  "extraData": "0x",
  "gasLimit": "0x3938700",
  "difficulty": "0x1",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": {
    "0x0000000000000000000000000000000000000000": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000001": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000002": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000003": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000004": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000005": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000006": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000007": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000008": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000009": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000000a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000000b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000000c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000000d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000000e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000000f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000010": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000011": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000012": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000013": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000014": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000015": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000016": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000017": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000018": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000019": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000001a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000001b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000001c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000001d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000001e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000001f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000020": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000021": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000022": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000023": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000024": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000025": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000026": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000027": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000028": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000029": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000002a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000002b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000002c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000002d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000002e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000002f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000030": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000031": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000032": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000033": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000034": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000035": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000036": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000037": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000038": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000039": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000003a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000003b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000003c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000003d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000003e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000003f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000040": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000041": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000042": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000043": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000044": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000045": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000046": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000047": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000048": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000049": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000004a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000004b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000004c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000004d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000004e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000004f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000050": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000051": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000052": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000053": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000054": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000055": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000056": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000057": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000058": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000059": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000005a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000005b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000005c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000005d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000005e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000005f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000060": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000061": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000062": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000063": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000064": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000065": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000066": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000067": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000068": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000069": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000006a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000006b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000006c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000006d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000006e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000006f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000070": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000071": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000072": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000073": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000074": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000075": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000076": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000077": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000078": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000079": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000007a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000007b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000007c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000007d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000007e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000007f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000080": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000081": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000082": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000083": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000084": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000085": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000086": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000087": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000088": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000089": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000008a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000008b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000008c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000008d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000008e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000008f": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000090": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000091": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000092": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000093": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000094": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000095": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000096": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000097": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000098": {
      "balance": "0x1"
    },
    "0x0000000000000000000000000000000000000099": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000009a": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000009b": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000009c": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000009d": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000009e": {
      "balance": "0x1"
    },
    "0x000000000000000000000000000000000000009f": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a0": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a1": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a2": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a3": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a4": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a5": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a6": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a7": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a8": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000a9": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000aa": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ab": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ac": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ad": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ae": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000af": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b0": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b1": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b2": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b3": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b4": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b5": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b6": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b7": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b8": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000b9": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ba": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000bb": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000bc": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000bd": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000be": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000bf": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c0": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c1": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c2": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c3": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c4": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c5": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c6": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c7": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c8": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000c9": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ca": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000cb": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000cc": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000cd": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ce": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000cf": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d0": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d1": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d2": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d3": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d4": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d5": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d6": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d7": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d8": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000d9": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000da": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000db": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000dc": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000dd": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000de": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000df": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e0": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e1": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e2": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e3": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e4": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e5": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e6": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e7": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e8": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000e9": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ea": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000eb": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ec": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ed": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ee": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ef": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f0": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f1": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f2": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f3": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f4": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f5": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f6": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f7": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f8": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000f9": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000fa": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000fb": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000fc": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000fd": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000fe": {
      "balance": "0x1"
    },
    "0x00000000000000000000000000000000000000ff": {
      "balance": "0x1"
    },
    "0x2210000000000000000000000000000000000221": {
      "code": "0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b610090366004610895565b610135565b61006b6100a33660046108b0565b61017f565b3480156100b457600080fd5b506100bd6101f3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b610101366004610895565b610231565b34801561011257600080fd5b506100bd61025e565b6101236102d4565b61013361012e6103ab565b6103b5565b565b61013d6103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481604051806020016040528060008152506000610419565b50565b61017461011b565b6101876103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101eb576101e68383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610419915050565b505050565b6101e661011b565b60006101fd6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103ab565b905090565b61022e61011b565b90565b6102396103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481610444565b60006102686103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103d9565b60606102b183836040518060600160405280602781526020016109cd602791396104a5565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6102dc6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b60006102216105cd565b3660008037600080366000845af43d6000803e8080156103d4573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b610422836105f5565b60008251118061042f5750805b156101e65761043e838361028c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61046d6103d9565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161017481610642565b606073ffffffffffffffffffffffffffffffffffffffff84163b61054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103a2565b6000808573ffffffffffffffffffffffffffffffffffffffff1685604051610573919061095f565b600060405180830381855af49150503d80600081146105ae576040519150601f19603f3d011682016040523d82523d6000602084013e6105b3565b606091505b50915091506105c382828661074e565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103fd565b6105fe816107a1565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff81166106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103a2565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6060831561075d5750816102b1565b82511561076d5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a2919061097b565b73ffffffffffffffffffffffffffffffffffffffff81163b610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103a2565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610708565b803573ffffffffffffffffffffffffffffffffffffffff8116811461089057600080fd5b919050565b6000602082840312156108a757600080fd5b6102b18261086c565b6000806000604084860312156108c557600080fd5b6108ce8461086c565b9250602084013567ffffffffffffffff808211156108eb57600080fd5b818601915086601f8301126108ff57600080fd5b81358181111561090e57600080fd5b87602082850101111561092057600080fd5b6020830194508093505050509250925092565b60005b8381101561094e578181015183820152602001610936565b8381111561043e5750506000910152565b60008251610971818460208701610933565b9190910192915050565b602081526000825180602084015261099a816040850160208701610933565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c634300080d000a",
      "storage": {
        "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000000000000000000000000000000000000000000001",
        "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x000000000000000000000000221c0de00000000000000000000000000221c0de",
        "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x0000000000000000000000005e3f6e5e8f2f8cb02f087aa573fadb09867fb09e"
      },
      "balance": "0x0",
      "nonce": "0x1"
    },
    "0x221c0de00000000000000000000000000221c0de": {
      "code": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80636db1edb11161005b5780636db1edb1146101055780638129fc1c146101285780638542256d14610132578063bb5ddb0f1461014557600080fd5b806334384940146100825780633981bc98146100aa5780634574ab98146100d7575b600080fd5b61009561009036600461125c565b610158565b60405190151581526020015b60405180910390f35b6100b261048d565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a1565b6100f76100e536600461136a565b60056020526000908152604090205481565b6040519081526020016100a1565b61009561011336600461138c565b60046020526000908152604090205460ff1681565b61013061052c565b005b6100956101403660046113a5565b6105d3565b610130610153366004611421565b610902565b60065460009073ffffffffffffffffffffffffffffffffffffffff16156101e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f7265656e7472616e63790000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60006101ee88888789610a4e565b67ffffffffffffffff841660009081526005602052604090205490915080610272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f756e6b6e6f776e206d6d7220726f6f740000000000000000000000000000000060448201526064016101d7565b61027f8287878488610a91565b60008281526004602052604090205460ff16156102f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f6d65737361676520616c72656164792072656c6179656400000000000000000060448201526064016101d7565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a8116919091179091556040516000918b1690610351908a906114df565b6000604051808303816000865af19150503d806000811461038e576040519150601f19603f3d011682016040523d82523d6000602084013e610393565b606091505b5050600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055905080156104355760008381526004602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551849167ffffffffffffffff8a16917f850e84ccc20bfff363cdbc062354efbb606a3572e2ddd7e33251b34d4a39265c9190a3610480565b6040805167ffffffffffffffff8781168252602082018590528592908a16917fb76456ac5f6ed215edc6496934e630cefccd888fd4fd0f5ea7f573def959d3a9910160405180910390a35b9998505050505050505050565b60065460009073ffffffffffffffffffffffffffffffffffffffff1661050f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f6e6f2063726f7373206c617965722073656e646572000000000000000000000060448201526064016101d7565b5060065473ffffffffffffffffffffffffffffffffffffffff1690565b60006105386001610b89565b9050801561056d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b80156105d057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b60065460009073ffffffffffffffffffffffffffffffffffffffff1615610656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f7265656e7472616e63790000000000000000000000000000000000000000000060448201526064016101d7565b33737e5f4552091a69125d5dfcb7b8c2659029395bdf146106d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f77726f6e672073656e646572000000000000000000000000000000000000000060448201526064016101d7565b60006106e188888789610a4e565b60008181526004602052604090205490915060ff161561075d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f616c72656164792072656c61796564000000000000000000000000000000000060448201526064016101d7565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff898116919091179091556040516000918a16906107b69089906114df565b6000604051808303816000865af19150503d80600081146107f3576040519150601f19603f3d011682016040523d82523d6000602084013e6107f8565b606091505b5050600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559050801561089a5760008281526004602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551839167ffffffffffffffff8916917f850e84ccc20bfff363cdbc062354efbb606a3572e2ddd7e33251b34d4a39265c9190a36108f6565b67ffffffffffffffff8481166000818152600560209081526040918290208990558151928352820188905284928916917fb76456ac5f6ed215edc6496934e630cefccd888fd4fd0f5ea7f573def959d3a9910160405180910390a35b98975050505050505050565b30330361096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f776972656420736974756174696f6e000000000000000000000000000000000060448201526064016101d7565b600354604080516020601f850181900481028201810190925283815267ffffffffffffffff909216916000916109c1918791339186918990899081908401838280828437600092019190915250610a4e92505050565b905060006109d0600183610d14565b90503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168467ffffffffffffffff167f2db859e29012c573479ee603548bb0d85b4b503bc99752b5e6a179c0312c1dea848989604051610a3e939291906114eb565b60405180910390a4505050505050565b600084848467ffffffffffffffff1684604051602001610a71949392919061153f565b604051602081830303815290604052805190602001209050949350505050565b8067ffffffffffffffff168467ffffffffffffffff1610610b0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6c65616620696e646578206f7574206f6620626f756e6473000000000000000060448201526064016101d7565b81610b1b86868685610ec1565b14610b82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6d6d7220726f6f7420646966666572000000000000000000000000000000000060448201526064016101d7565b5050505050565b60008054610100900460ff1615610c40578160ff166001148015610bac5750303b155b610c38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101d7565b506000919050565b60005460ff808416911610610cd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101d7565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055600190565b919050565b6001820180546002840154600092919067ffffffffffffffff165b610d3a6002826115c2565b600103610dbc5782610d4d600184611605565b67ffffffffffffffff1681548110610d6757610d6761162e565b906000526020600020015485604051602001610d8d929190918252602082015260400190565b604051602081830303815290604052805190602001209450600182610db29190611605565b915060011c610d2f565b5060028501805460019190600090610ddf90849067ffffffffffffffff1661165d565b825467ffffffffffffffff9182166101009390930a92830291909202199091161790555060018181018355600083815260208120830186905590610e2490839061165d565b9050846000610e34600284611689565b90505b60008160070b12610eb257876001018167ffffffffffffffff1681548110610e6157610e6161162e565b906000526020600020015482604051602001610e87929190918252602082015260400190565b6040516020818303038152906040528051906020012091508080610eaa906116f2565b915050610e37565b50808755935050505092915050565b81516000908590829081610ed6600187611605565b90505b67ffffffffffffffff811615611089578167ffffffffffffffff168367ffffffffffffffff1610610f66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f70726f6f6620746f6f2073686f7274000000000000000000000000000000000060448201526064016101d7565b610f7160028961174f565b67ffffffffffffffff16600103610fec57868367ffffffffffffffff1681518110610f9e57610f9e61162e565b602002602001015184604051602001610fc1929190918252602082015260400190565b6040516020818303038152906040528051906020012093508280610fe490611776565b93505061106e565b8067ffffffffffffffff168867ffffffffffffffff16101561106e5783878467ffffffffffffffff16815181106110255761102561162e565b6020026020010151604051602001611047929190918252602082015260400190565b604051602081830303815290604052805190602001209350828061106a90611776565b9350505b677fffffffffffffff600198891c8116989190911c16610ed9565b508067ffffffffffffffff168267ffffffffffffffff161015611108576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f70726f6f6620746f6f206c6f6e6700000000000000000000000000000000000060448201526064016101d7565b50909695505050505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d0f57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156111ae576111ae611138565b604052919050565b600082601f8301126111c757600080fd5b813567ffffffffffffffff8111156111e1576111e1611138565b61121260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611167565b81815284602083860101111561122757600080fd5b816020850160208301376000918101602001919091529392505050565b803567ffffffffffffffff81168114610d0f57600080fd5b60008060008060008060c0878903121561127557600080fd5b61127e87611114565b9550602061128d818901611114565b9550604088013567ffffffffffffffff808211156112aa57600080fd5b6112b68b838c016111b6565b96506112c460608b01611244565b955060808a01359150808211156112da57600080fd5b818a0191508a601f8301126112ee57600080fd5b81358181111561130057611300611138565b8060051b9150611311848301611167565b818152918301840191848101908d84111561132b57600080fd5b938501935b8385101561134957843582529385019390850190611330565b80975050505050505061135e60a08801611244565b90509295509295509295565b60006020828403121561137c57600080fd5b61138582611244565b9392505050565b60006020828403121561139e57600080fd5b5035919050565b60008060008060008060c087890312156113be57600080fd5b6113c787611114565b95506113d560208801611114565b9450604087013567ffffffffffffffff8111156113f157600080fd5b6113fd89828a016111b6565b94505061140c60608801611244565b92506080870135915061135e60a08801611244565b60008060006040848603121561143657600080fd5b61143f84611114565b9250602084013567ffffffffffffffff8082111561145c57600080fd5b818601915086601f83011261147057600080fd5b81358181111561147f57600080fd5b87602082850101111561149157600080fd5b6020830194508093505050509250925092565b6000815160005b818110156114c557602081850181015186830152016114ab565b818111156114d4576000828601525b509290920192915050565b600061138582846114a4565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083602883015261158960488301846114a4565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826115d1576115d1611593565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff83811690831681811015611626576116266115d6565b039392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600067ffffffffffffffff808316818516808303821115611680576116806115d6565b01949350505050565b60008160070b8360070b60008112817fffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000018312811516156116cc576116cc6115d6565b81677fffffffffffffff0183138116156116e8576116e86115d6565b5090039392505050565b60008160070b7fffffffffffffffffffffffffffffffffffffffffffffffff80000000000000008103611727576117276115d6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b600067ffffffffffffffff8084168061176a5761176a611593565b92169190910692915050565b600067ffffffffffffffff808316818103611793576117936115d6565b600101939250505056fea164736f6c634300080d000a",
      "balance": "0x0",
      "nonce": "0x1"
    },
    "0xbde0000000000000000000000000000000000bde": {
      "code": "0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b610090366004610895565b610135565b61006b6100a33660046108b0565b61017f565b3480156100b457600080fd5b506100bd6101f3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b610101366004610895565b610231565b34801561011257600080fd5b506100bd61025e565b6101236102d4565b61013361012e6103ab565b6103b5565b565b61013d6103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481604051806020016040528060008152506000610419565b50565b61017461011b565b6101876103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101eb576101e68383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610419915050565b505050565b6101e661011b565b60006101fd6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103ab565b905090565b61022e61011b565b90565b6102396103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481610444565b60006102686103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103d9565b60606102b183836040518060600160405280602781526020016109cd602791396104a5565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6102dc6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b60006102216105cd565b3660008037600080366000845af43d6000803e8080156103d4573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b610422836105f5565b60008251118061042f5750805b156101e65761043e838361028c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61046d6103d9565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161017481610642565b606073ffffffffffffffffffffffffffffffffffffffff84163b61054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103a2565b6000808573ffffffffffffffffffffffffffffffffffffffff1685604051610573919061095f565b600060405180830381855af49150503d80600081146105ae576040519150601f19603f3d011682016040523d82523d6000602084013e6105b3565b606091505b50915091506105c382828661074e565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103fd565b6105fe816107a1565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff81166106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103a2565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6060831561075d5750816102b1565b82511561076d5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a2919061097b565b73ffffffffffffffffffffffffffffffffffffffff81163b610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103a2565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610708565b803573ffffffffffffffffffffffffffffffffffffffff8116811461089057600080fd5b919050565b6000602082840312156108a757600080fd5b6102b18261086c565b6000806000604084860312156108c557600080fd5b6108ce8461086c565b9250602084013567ffffffffffffffff808211156108eb57600080fd5b818601915086601f8301126108ff57600080fd5b81358181111561090e57600080fd5b87602082850101111561092057600080fd5b6020830194508093505050509250925092565b60005b8381101561094e578181015183820152602001610936565b8381111561043e5750506000910152565b60008251610971818460208701610933565b9190910192915050565b602081526000825180602084015261099a816040850160208701610933565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c634300080d000a",
      "storage": {
        "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000022100000000000000000000000000000000002210001",
        "0x0000000000000000000000000000000000000000000000000000000000000032": "0x00000000000000000000000050a61eb5a98b78fddec5eb2240e7b3b1fd62e162",
        "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": "0x000000000000000000000000bdec0de00000000000000000000000000bdec0de",
        "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x0000000000000000000000005e3f6e5e8f2f8cb02f087aa573fadb09867fb09e"
      },
      "balance": "0x33b2e3c9fd0803ce8000000",
      "nonce": "0x1"
    },
    "0xbdec0de00000000000000000000000000bdec0de": {
      "code": "0x60806040526004361061009a5760003560e01c806381de0dd511610069578063ab5c7bf11161004e578063ab5c7bf114610238578063dad7ecd91461024b578063de1b85fd1461026b57600080fd5b806381de0dd5146101f8578063920f96cc1461021857600080fd5b80630ac2b63a1461012f57806331f092651461018b57806336c717c1146101ab578063485cc955146101d857600080fd5b3661012a5733321461010d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4163636f756e74206e6f7420454f41000000000000000000000000000000000060448201526064015b60405180910390fd5b6101283333346040518060200160405280600081525061027e565b005b600080fd5b34801561013b57600080fd5b506000546101629062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561019757600080fd5b506101286101a63660046115d0565b6103cb565b3480156101b757600080fd5b506032546101629073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101e457600080fd5b506101286101f336600461162c565b6103df565b34801561020457600080fd5b50610128610213366004611665565b6104d1565b34801561022457600080fd5b50610128610233366004611665565b610865565b6101286102463660046116d8565b61087a565b34801561025757600080fd5b5061012861026636600461171a565b610929565b6101286102793660046117b2565b610e1f565b6000631532ec3460e01b8585858560405160240161029f949392919061187d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526032549091506103429073ffffffffffffffffffffffffffffffffffffffff1682610e61565b8473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f73d170910aba9e6d50b102db522b1dbcd796216f5128b445aa2135272886497e8787876040516103bc939291906118bc565b60405180910390a45050505050565b6103d9843333868686610ef4565b50505050565b60006103eb6001611133565b9050801561042057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610429836112b9565b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156104cc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60325460005473ffffffffffffffffffffffffffffffffffffffff9182169133620100009092041614610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6e6f207065726d697373696f6e000000000000000000000000000000000000006044820152606401610104565b60008060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633981bc986040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f291906118fa565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f77726f6e672063726f7373206c617965722073656e64657200000000000000006044820152606401610104565b844710156106f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f455448206e6f7420656e6f7567680000000000000000000000000000000000006044820152606401610104565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff881690879060405161072a919061191e565b60006040518083038185875af1925050503d8060008114610767576040519150601f19603f3d011682016040523d82523d6000602084013e61076c565b606091505b50509050806107d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f455448207472616e73666572206661696c6564000000000000000000000000006044820152606401610104565b8773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fb0444523268717a02698be47d0803aa7468c00acbed2f8bd93a0459cde61dd898a8a8a8a6040516108539493929190611983565b60405180910390a45050505050505050565b610873853386868686610ef4565b5050505050565b3332146108e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4163636f756e74206e6f7420454f4100000000000000000000000000000000006044820152606401610104565b61092533333485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027e92505050565b5050565b60325460005473ffffffffffffffffffffffffffffffffffffffff91821691336201000090920416146109b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6e6f207065726d697373696f6e000000000000000000000000000000000000006044820152606401610104565b60008060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633981bc986040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a91906118fa565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f77726f6e672063726f7373206c617965722073656e64657200000000000000006044820152606401610104565b610b0b887f1d1d8b630000000000000000000000000000000000000000000000000000000061139d565b8015610bb257508773ffffffffffffffffffffffffffffffffffffffff1663c01e1bd66040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8391906118fa565b73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16145b15610cc6576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152602482018790528916906340c10f1990604401600060405180830381600087803b158015610c2757600080fd5b505af1158015610c3b573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fb0444523268717a02698be47d0803aa7468c00acbed2f8bd93a0459cde61dd8989898989604051610cb99493929190611983565b60405180910390a4610e14565b600063a9f9e67560e01b8a8a898b8a8a8a604051602401610ced97969594939291906119b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152603254909150610d909073ffffffffffffffffffffffffffffffffffffffff1682610e61565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167f7ea89a4591614515571c2b51f5ea06494056f261c10ab1ed8c03c7590d87bce08a8a8a8a604051610e0a9493929190611983565b60405180910390a4505b505050505050505050565b6104cc33843485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027e92505050565b6000546040517fbb5ddb0f0000000000000000000000000000000000000000000000000000000081526201000090910473ffffffffffffffffffffffffffffffffffffffff169063bb5ddb0f90610ebe9085908590600401611a16565b600060405180830381600087803b158015610ed857600080fd5b505af1158015610eec573d6000803e3d6000fd5b505050505050565b6040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff871690639dc29fac90604401600060405180830381600087803b158015610f6257600080fd5b505af1158015610f76573d6000803e3d6000fd5b5050505060008673ffffffffffffffffffffffffffffffffffffffff1663c01e1bd66040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610fc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fed91906118fa565b9050600063a9f9e67560e01b8289898989898960405160240161101697969594939291906119b9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526032549091506110b99073ffffffffffffffffffffffffffffffffffffffff1682610e61565b3373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f73d170910aba9e6d50b102db522b1dbcd796216f5128b445aa2135272886497e898989896040516108539493929190611983565b60008054610100900460ff16156111ea578160ff1660011480156111565750303b155b6111e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610104565b506000919050565b60005460ff808416911610611281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610104565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055600190565b600054610100900460ff16611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610104565b6000805473ffffffffffffffffffffffffffffffffffffffff90921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b60006113a8836113c2565b80156113b957506113b98383611426565b90505b92915050565b60006113ee827f01ffc9a700000000000000000000000000000000000000000000000000000000611426565b80156113bc575061141f827fffffffff00000000000000000000000000000000000000000000000000000000611426565b1592915050565b604080517fffffffff00000000000000000000000000000000000000000000000000000000831660248083019190915282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a7000000000000000000000000000000000000000000000000000000001790529051600091908290819073ffffffffffffffffffffffffffffffffffffffff871690617530906114e090869061191e565b6000604051808303818686fa925050503d806000811461151c576040519150601f19603f3d011682016040523d82523d6000602084013e611521565b606091505b509150915060208151101561153c57600093505050506113bc565b8180156115585750808060200190518101906115589190611a4d565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461158457600080fd5b50565b60008083601f84011261159957600080fd5b50813567ffffffffffffffff8111156115b157600080fd5b6020830191508360208285010111156115c957600080fd5b9250929050565b600080600080606085870312156115e657600080fd5b84356115f181611562565b935060208501359250604085013567ffffffffffffffff81111561161457600080fd5b61162087828801611587565b95989497509550505050565b6000806040838503121561163f57600080fd5b823561164a81611562565b9150602083013561165a81611562565b809150509250929050565b60008060008060006080868803121561167d57600080fd5b853561168881611562565b9450602086013561169881611562565b935060408601359250606086013567ffffffffffffffff8111156116bb57600080fd5b6116c788828901611587565b969995985093965092949392505050565b600080602083850312156116eb57600080fd5b823567ffffffffffffffff81111561170257600080fd5b61170e85828601611587565b90969095509350505050565b600080600080600080600060c0888a03121561173557600080fd5b873561174081611562565b9650602088013561175081611562565b9550604088013561176081611562565b9450606088013561177081611562565b93506080880135925060a088013567ffffffffffffffff81111561179357600080fd5b61179f8a828b01611587565b989b979a50959850939692959293505050565b6000806000604084860312156117c757600080fd5b83356117d281611562565b9250602084013567ffffffffffffffff8111156117ee57600080fd5b6117fa86828701611587565b9497909650939450505050565b60005b8381101561182257818101518382015260200161180a565b838111156103d95750506000910152565b6000815180845261184b816020860160208601611807565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526115586080830184611833565b73ffffffffffffffffffffffffffffffffffffffff841681528260208201526060604082015260006118f16060830184611833565b95945050505050565b60006020828403121561190c57600080fd5b815161191781611562565b9392505050565b60008251611930818460208701611807565b9190910192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015260606040820152600061155860608301848661193a565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a0830152611a0960c08301848661193a565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611a456040830184611833565b949350505050565b600060208284031215611a5f57600080fd5b8151801515811461191757600080fdfea164736f6c634300080d000a",
      "balance": "0x0",
      "nonce": "0x1"
    },
    "0xfee0000000000000000000000000000000000fee": {
      "code": "0x6080604052600436106100745760003560e01c8063a1db97821161004e578063a1db9782146100f0578063c311d04914610110578063c33af25014610130578063f2fde38b1461015057600080fd5b8063715018a61461008057806374f823ec146100975780638da5cb5b146100b757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b50610095610170565b005b3480156100a357600080fd5b506100956100b2366004610b2d565b610202565b3480156100c357600080fd5b506000546040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156100fc57600080fd5b5061009561010b366004610b6e565b610293565b34801561011c57600080fd5b5061009561012b366004610b9a565b610341565b34801561013c57600080fd5b5061009561014b366004610b6e565b6103ed565b34801561015c57600080fd5b5061009561016b366004610bb3565b610478565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61020060006105a1565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314610283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b61028e838383610616565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b61033d8261033760005473ffffffffffffffffffffffffffffffffffffffff1690565b83610616565b5050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b6103ea6103e460005473ffffffffffffffffffffffffffffffffffffffff1690565b826106a3565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461046e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b61033d82826106a3565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101ed565b73ffffffffffffffffffffffffffffffffffffffff811661059c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101ed565b6103ea815b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261028e9084906107fd565b8047101561070d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016101ed565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610767576040519150601f19603f3d011682016040523d82523d6000602084013e61076c565b606091505b505090508061028e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016101ed565b600061085f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109099092919063ffffffff16565b80519091501561028e578080602001905181019061087d9190610bd0565b61028e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016101ed565b60606109188484600085610922565b90505b9392505050565b6060824710156109b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016101ed565b73ffffffffffffffffffffffffffffffffffffffff85163b610a32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101ed565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a5b9190610c22565b60006040518083038185875af1925050503d8060008114610a98576040519150601f19603f3d011682016040523d82523d6000602084013e610a9d565b606091505b5091509150610aad828286610ab8565b979650505050505050565b60608315610ac757508161091b565b825115610ad75782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed9190610c3e565b73ffffffffffffffffffffffffffffffffffffffff811681146103ea57600080fd5b600080600060608486031215610b4257600080fd5b8335610b4d81610b0b565b92506020840135610b5d81610b0b565b929592945050506040919091013590565b60008060408385031215610b8157600080fd5b8235610b8c81610b0b565b946020939093013593505050565b600060208284031215610bac57600080fd5b5035919050565b600060208284031215610bc557600080fd5b813561091b81610b0b565b600060208284031215610be257600080fd5b8151801515811461091b57600080fd5b60005b83811015610c0d578181015183820152602001610bf5565b83811115610c1c576000848401525b50505050565b60008251610c34818460208701610bf2565b9190910192915050565b6020815260008251806020840152610c5d816040850160208701610bf2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea164736f6c634300080d000a",
      "storage": {
        "0x0000000000000000000000000000000000000000000000000000000000000000": "0x0000000000000000000000005e3f6e5e8f2f8cb02f087aa573fadb09867fb09e"
      },
      "balance": "0x0",
      "nonce": "0x1"
    }
  }
}

Initialize the ledger:

../geth --datadir ./data init genesis.json

The genesis block hash for Goshen goerli testnet is 0x16635124c694c33984b70ad096a3aa10ed061a1d6f406745b1cfebf545c17975, so you have correctly initialized the ledger if you see the following output:

Successfully wrote genesis state         database=chaindata hash=166351..c17975

Start the validator node

Create a rollup-config.json file, with the following content, note you need specify the L1 rpc.

{
  "L1Rpc":       "your l1 rpc node rpc",
  "L2Rpc":       "http://localhost:8545",
  "DeployOnL1Height":   7601295,
  "MinConfirmBlockNum": 6,
  "L1Addresses": {
    "AddressManager": "0x660C69e54C2805e621359cA70A2dAf4b72C4a9e4",
    "L1CrossLayerWitness": "0xecBA6B8C1594e793fb51891c131C4Bb7aeB993E7",
    "FeeToken": "0xEb93d73917796b24643A83B379a63a423aF8C0E3",
    "RollupStateChain": "0xc9d3388221f49edBf3DEFC2C817905831182F0Dd",
    "ChallengeLogic": "0xf7265553E6c64F8498606469779c98477BFbc199",
    "ChallengeBeacon": "0x6247E9cBde2dE8e084Acc8243A67fda26F121613",
    "ChallengeFactory": "0xFff9F7C0Ca65235406AfD08D46448f75CE13cB39",
    "StakingManager": "0x882C43AE4c1462bC63B944D151e6d3B8fBe232f3",
    "RollupInputChain": "0xEbB8fcDD30B63bFb7d1918A1dC773E40f01EF166",
    "StateChainStorage": "0x7Ca1aC2165160b5667228Ce91582E85592C49752",
    "InputChainStorage": "0x734CFd3588aDB1825608bCF8862FFe26b4be6a86",
    "L1StandardBridge": "0x50A61eb5A98B78fddeC5eb2240e7B3b1FD62E162",
    "Dao": "0x5e3f6E5E8f2F8cB02f087aA573FadB09867fB09E",
    "WhiteList": "0x830d47481126e5c65c98418aE63b4C64832DA33B"
  },
  "L2Genesis": {
    "FeeCollectorOwner": "0x5e3f6E5E8f2F8cB02f087aA573FadB09867fB09E",
    "BridgeBalance": 1000000000,
    "ProxyAdmin": "0x5e3f6E5E8f2F8cB02f087aA573FadB09867fB09E",
    "L2CrossLayerWitness": "0x2210000000000000000000000000000000000221",
    "L2StandardBridge": "0xbde0000000000000000000000000000000000bde",
    "L2CrossLayerWitnessLogic": "0x221c0de00000000000000000000000000221c0de",
    "L2StandardBridgeLogic": "0xbdec0de00000000000000000000000000bdec0de",
    "L2FeeCollector": "0xfee0000000000000000000000000000000000fee"
  }
}

Start the node:

../geth --l2 --datadir ./data --networkid 21772 --mine --miner.etherbase "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266" --verbosity=3 --gcmode archive --ipcdisable --http --http.addr 0.0.0.0 --http.api "l2,eth,net,web3,txpool,debug" --http.port 8545 --ws --ws.addr 0.0.0.0 --syncmode full --snapshot=false --verifier 

Last updated