Private Chain Construction

Private chain construction

Prepare validator account(s)

According to the number of miner nodes, prepare corresponding validator account(s).

You can create a new account by the command geth account new, and then put the password to a text file. For example:

./geth account new --datadir data
echo {your-password} > password.txt

After creating an account, you may see the address of the new account.

Or you can also looking to the UTC-**file under the data/keystore path to find it, e.g.:

8cc5a1a0802db41db826c2fcb72423744338dcb0

genesis.json configuration

{
  "config": {
    "chainId": 6660011,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "berlinBlock": 0,
    "londonBlock": 0,
    "hapten": {
      "period": 3,
      "epoch": 200,
      "attestationDelay": 2
    }
  },
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "number": "0x0",
  "nonce": "0x0",
  "timestamp": "0x624e601f",
  "gasLimit": "0x2625a00",
  "gasUsed": "0x0",
  "difficulty": "0x1",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "extraData": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "alloc": {
    "352BbF453fFdcba6b126a73eD684260D7968dDc8": {
      "balance": "50000000000000000000"
    },
    "8Cc5A1a0802DB41DB826C2FcB72423744338DcB0": {
      "balance": "50000000000000000000"
    },
    "000000000000000000000000000000000000F000": {
      "balance": "0x0",
      "init": {
        "admin": "0x352BbF453fFdcba6b126a73eD684260D7968dDc8",
        "firstLockPeriod": "63072000",
        "releasePeriod": "2592000",
        "releaseCnt": "48",
        "ruEpoch": "28800"
      },
      "code": "0x608060405260043610620004135760003560e01c80637bd8d00c116200021b578063d27109091162000123578063e818ef8611620000ad578063f28e5f611162000078578063f28e5f611462000786578063f3dc92831462000c4d578063f3ec22911462000c65578063f851a4401462000c8a57600080fd5b8063e818ef861462000bc4578063ec2801f91462000be9578063f08b92841462000c01578063f0f2e5521462000c1957600080fd5b8063da60db1311620000ee578063da60db131462000b10578063da71584b1462000b27578063de6746a51462000b4c578063e0d8ea531462000bad57600080fd5b8063d27109091462000aa5578063d2957b2f1462000abc578063d2a71d351462000ad3578063d3af05051462000af857600080fd5b8063a967e66011620001a5578063c086559e1162000170578063c086559e14620009ee578063c2c0bfe41462000a13578063c967f90f1462000a47578063cfe9f8ec1462000a7157600080fd5b8063a967e660146200098c578063aa5c9afd14620009b1578063b8d08db214620009d6578063b937370714620008c257600080fd5b806398c2199d11620001e657806398c2199d14620009035780639bde74a8146200091a5780639cc02c30146200094e5780639de70258146200096557600080fd5b80637bd8d00c1462000878578063820013c2146200089d578063820805af14620008c25780638f28397014620008de57600080fd5b80633488641b116200031f5780635bcee38211620002a9578063692aa97e1162000274578063692aa97e14620007fc5780636936c70d146200081f57806370a996a914620008445780637977f981146200085b57600080fd5b80635bcee382146200079d5780635e81f1f814620007c257806363ef162714620007da5780636425264314620007f257600080fd5b80634d0859cc11620002ea5780634d0859cc14620007245780634eb4d1ba146200074957806358f91943146200076e5780635a651019146200078657600080fd5b80633488641b146200069b5780634670ceaf14620006b3578063476776d414620006d85780634b0b32c514620006f057600080fd5b806315dd2d5511620003a157806326782247116200036c5780632678224714620005c15780632693ee8014620005e35780632c51c34a146200060557806332f3c17f146200066157600080fd5b806315dd2d55146200055257806315de360e14620005775780631927207f1462000590578063213a489414620005a857600080fd5b80630e18b68111620003e25780630e18b68114620004d45780631076790414620004ec57806314d140b01462000503578063158ef93e146200052557600080fd5b806301036cae146200041857806302345565146200043f578063073d2eb414620004695780630cd2c6fa1462000481575b600080fd5b3480156200042557600080fd5b506200043d6200043736600462004f47565b62000cb1565b005b3480156200044c57600080fd5b5062000456603081565b6040519081526020015b60405180910390f35b3480156200047657600080fd5b506200045660105481565b3480156200048e57600080fd5b50620004bb620004a036600462004c61565b6007602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200162000460565b348015620004e157600080fd5b506200043d62000dbc565b6200043d620004fd36600462004c61565b62000e73565b3480156200051057600080fd5b50601a54620004bb906001600160a01b031681565b3480156200053257600080fd5b50600054620005419060ff1681565b604051901515815260200162000460565b3480156200055f57600080fd5b506200043d6200057136600462004c61565b62000fbb565b3480156200058457600080fd5b50620004566201518081565b3480156200059d57600080fd5b50620004566103e881565b348015620005b557600080fd5b5062000456621baf8081565b348015620005ce57600080fd5b50600154620004bb906001600160a01b031681565b348015620005f057600080fd5b50601954620004bb906001600160a01b031681565b3480156200061257600080fd5b50620006456200062436600462004c61565b60086020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600162000460565b3480156200066e57600080fd5b50620004566200068036600462004c61565b6001600160a01b03166000908152601b602052604090205490565b348015620006a857600080fd5b5062000456600f5481565b348015620006c057600080fd5b506200043d620006d236600462004dc2565b62001008565b348015620006e557600080fd5b506200043d620011de565b348015620006fd57600080fd5b50620005416200070f36600462004f2e565b6000908152601d602052604090205460ff1690565b3480156200073157600080fd5b50620004566200074336600462004c9f565b6200129c565b3480156200075657600080fd5b506200043d6200076836600462004c61565b62001429565b3480156200077b57600080fd5b50620005416200151b565b3480156200079357600080fd5b5062000456600181565b348015620007aa57600080fd5b506200043d620007bc36600462004e59565b62001554565b348015620007cf57600080fd5b506200043d620016ba565b348015620007e757600080fd5b506200045660035481565b6200043d62001a18565b3480156200080957600080fd5b506001546200054190600160a01b900460ff1681565b3480156200082c57600080fd5b506200043d6200083e36600462004d94565b62001c18565b6200043d6200085536600462004c61565b62001d93565b3480156200086857600080fd5b5062000456665543df729c000081565b3480156200088557600080fd5b506200043d6200089736600462004c61565b62001ddd565b348015620008aa57600080fd5b50620004bb620008bc36600462004f2e565b62001f1f565b348015620008cf57600080fd5b5062000456652d79883d200081565b348015620008eb57600080fd5b506200043d620008fd36600462004c61565b62001f4a565b3480156200091057600080fd5b5062000456600a81565b3480156200092757600080fd5b50620005416200093936600462004f2e565b60176020526000908152604090205460ff1681565b3480156200095b57600080fd5b5060065462000456565b3480156200097257600080fd5b506200097d62001fc6565b60405162000460919062005084565b3480156200099957600080fd5b506200043d620009ab36600462004d33565b6200202a565b348015620009be57600080fd5b50620004bb620009d036600462004f2e565b62002369565b348015620009e357600080fd5b506200045660045481565b348015620009fb57600080fd5b506200097d62000a0d36600462004ff6565b6200237a565b34801562000a2057600080fd5b506200054162000a3236600462004f2e565b60166020526000908152604090205460ff1681565b34801562000a5457600080fd5b5062000a5e601581565b60405160ff909116815260200162000460565b34801562000a7e57600080fd5b506200054162000a9036600462004f2e565b601d6020526000908152604090205460ff1681565b6200043d62000ab636600462004cdc565b62002514565b34801562000ac957600080fd5b5062000456600281565b34801562000ae057600080fd5b506200043d62000af236600462004c61565b620028d0565b34801562000b0557600080fd5b5062000456600e5481565b34801562000b1d57600080fd5b5062000456605081565b34801562000b3457600080fd5b506200043d62000b4636600462004d94565b62002919565b34801562000b5957600080fd5b5062000b8f62000b6b36600462004c61565b60096020526000908152604090208054600182015460029092015490919060ff1683565b60408051938452602084019290925215159082015260600162000460565b34801562000bba57600080fd5b50601c5462000456565b34801562000bd157600080fd5b506200043d62000be336600462004c61565b6200296d565b34801562000bf657600080fd5b506200045660135481565b34801562000c0e57600080fd5b506200045660145481565b34801562000c2657600080fd5b506200054162000c3836600462004f2e565b60186020526000908152604090205460ff1681565b34801562000c5a57600080fd5b506200045660025481565b34801562000c7257600080fd5b506200043d62000c8436600462004f2e565b62002bd7565b34801562000c9757600080fd5b50600054620004bb9061010090046001600160a01b031681565b33411462000cdc5760405162461bcd60e51b815260040162000cd3906200519d565b60405180910390fd5b6001600160a01b0380821660009081526007602052604090205482911662000d185760405162461bcd60e51b815260040162000cd39062005180565b6000838152601d6020526040902054839060ff161562000d4c5760405162461bcd60e51b815260040162000cd39062005129565b6000848152601d60205260409020805460ff1916600117905562000d7283600a62002d09565b826001600160a01b03167fda5de20b8278e154fa3f60bbee4cf3f2f8b00c704fcc1042929f222d499a24944260405162000dae91815260200190565b60405180910390a250505050565b6001546001600160a01b0316331462000dfe5760405162461bcd60e51b815260206004820152600360248201526245303360e81b604482015260640162000cd3565b600154600080546040516001600160a01b0393841693610100909204909116917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a36001805460008054610100600160a81b0319166101006001600160a01b038416021790556001600160a01b0319169055565b6001600160a01b038082166000908152600760205260409020548291168062000eb05760405162461bcd60e51b815260040162000cd39062005180565b336001600160a01b0316816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b15801562000ef457600080fd5b505afa15801562000f09573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f2f919062004c80565b6001600160a01b03161462000f585760405162461bcd60e51b815260040162000cd39062005163565b6001600160a01b03831660009081526009602052604090206002015460ff16158062000f89575062000f896200151b565b62000fa85760405162461bcd60e51b815260040162000cd39062005146565b62000fb68384600162002e9f565b505050565b6001600160a01b0380821660009081526007602052604090205482911662000ff75760405162461bcd60e51b815260040162000cd39062005180565b620010048260006200314a565b5050565b60005460ff1615620010435760405162461bcd60e51b815260206004820152600360248201526245343160e81b604482015260640162000cd3565b6000805460ff191660011790556001600160a01b038a166200108e5760405162461bcd60e51b815260206004820152600360248201526245303960e81b604482015260640162000cd3565b87158015906200109d57508615155b80620010b1575087158015620010b1575086155b620010e55760405162461bcd60e51b815260206004820152600360248201526204531360ec1b604482015260640162000cd3565b8547116200111c5760405162461bcd60e51b815260206004820152600360248201526245313160e81b604482015260640162000cd3565b6000841180156200112d5750600083115b620011615760405162461bcd60e51b815260206004820152600360248201526222989960e91b604482015260640162000cd3565b60008054610100600160a81b0319166101006001600160a01b038d16021790556200118d8942620051d7565b600255600397909755600495909555601293909355600f91909155601455601355601980546001600160a01b039384166001600160a01b031991821617909155601a80549290931691161790555050565b60005461010090046001600160a01b03163314620012105760405162461bcd60e51b815260040162000cd39062005163565b600154600160a01b900460ff1615620012525760405162461bcd60e51b815260206004820152600360248201526222989b60e91b604482015260640162000cd3565b6001805460ff60a01b1916600160a01b90811791829055604051910460ff161515907fdd288448284e1ccc5e28842bad7eb5c8cfa9587059e1642595fa8666246957a990600090a2565b6001600160a01b03828116600090815260076020526040812054909116620012c75750600062001423565b600060115443620012d991906200522b565b60105490915081156200131457600e5482600f54620012f9919062005209565b620013059190620051f2565b620013119082620051d7565b90505b6001600160a01b0385166000908152600860209081526040808320815160608101835281548082526001830154948201859052600290920154928101929092529092919062001364908562005209565b6200137091906200522b565b90506012548111156200138257506012545b6001600160a01b03878116600090815260076020526040908190205490516347a4ea2b60e01b815260048101849052888316602482015291169081906347a4ea2b9060440160206040518083038186803b158015620013e057600080fd5b505afa158015620013f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200141b919062004fb9565b955050505050505b92915050565b6001600160a01b0380821660009081526007602052604090205482911680620014665760405162461bcd60e51b815260040162000cd39062005180565b336001600160a01b0316816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b158015620014aa57600080fd5b505afa158015620014bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014e5919062004c80565b6001600160a01b0316146200150e5760405162461bcd60e51b815260040162000cd39062005163565b62000fb68360016200314a565b600060025442101580156200154f57506004546003546200153d919062005209565b6002546200154c90426200522b565b10155b905090565b334114620015765760405162461bcd60e51b815260040162000cd3906200519d565b436000908152601560209081526040808320600180855292529091205460ff1615620015b65760405162461bcd60e51b815260040162000cd39062005129565b436000908152601560205260408120600191836004811115620015e957634e487b7160e01b600052602160045260246000fd5b60048111156200160957634e487b7160e01b600052602160045260246000fd5b81526020810191909152604001600020805460ff1916911515919091179055601454620016379043620052c0565b156200166c5760405162461bcd60e51b815260206004820152600360248201526245313760e81b604482015260640162000cd3565b6000825111620016a55760405162461bcd60e51b815260206004820152600360248201526208a62760eb1b604482015260640162000cd3565b815162000fb690600590602085019062004b9f565b334114620016dc5760405162461bcd60e51b815260040162000cd3906200519d565b601454620016eb9043620052c0565b15620017205760405162461bcd60e51b815260206004820152600360248201526245313760e81b604482015260640162000cd3565b436000908152601560209081526040808320600480855292529091205460ff1615620017605760405162461bcd60e51b815260040162000cd39062005129565b4360009081526015602052604081206001918360048111156200179357634e487b7160e01b600052602160045260246000fd5b6004811115620017b357634e487b7160e01b600052602160045260246000fd5b81526020810191909152604001600020805460ff1916911515919091179055601c54620017dd5750565b601c54805b8015620019e9576000601c620017fa6001846200522b565b815481106200181957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316808352601b9091526040909120549091506002101562001881576001600160a01b0381166000908152601b60205260408120805460029290620018759084906200522b565b90915550620019d39050565b82821462001953576000601c6200189a6001866200522b565b81548110620018b957634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316905080601c620018e06001866200522b565b81548110620018ff57634e487b7160e01b600052603260045260246000fd5b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055620019356001846200522b565b6001600160a01b039091166000908152601b60205260409020600101555b601c8054806200197357634e487b7160e01b600052603160045260246000fd5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0383168252601b905260408120818155600181810192909255600201805460ff19169055620019d090846200522b565b92505b5080620019e08162005245565b915050620017e2565b506040517f181d51be54e8e8eaca6eae0eab32d4162099236bd519e7238d015d0870db464190600090a1505b50565b33411462001a3a5760405162461bcd60e51b815260040162000cd3906200519d565b43600090815260156020908152604080832083805290915281205460ff161562001a785760405162461bcd60e51b815260040162000cd39062005129565b43600090815260156020526040812060019183600481111562001aab57634e487b7160e01b600052602160045260246000fd5b600481111562001acb57634e487b7160e01b600052602160045260246000fd5b81526020810191909152604001600020805460ff1916911515919091179055341562001a1557600554600062001b128262001b0b606481346050620033bd565b9062003427565b9050600062001b22838362005209565b62001b2e90346200522b565b905060005b8381101562001bf9576000600760006005848154811062001b6457634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b039081168452908301939093526040918201812054825163e18b7fcf60e01b8152925193169350839263e18b7fcf928892600480830193919282900301818588803b15801562001bc857600080fd5b505af115801562001bdd573d6000803e3d6000fd5b505050505050808062001bf0906200527f565b91505062001b33565b50601a5462001c12906001600160a01b03168262003451565b50505050565b6001600160a01b038083166000908152600760205260409020548391168062001c555760405162461bcd60e51b815260040162000cd39062005180565b336001600160a01b0316816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b15801562001c9957600080fd5b505afa15801562001cae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001cd4919062004c80565b6001600160a01b03161462001cfd5760405162461bcd60e51b815260040162000cd39062005163565b6001600160a01b03841660009081526009602090815260408083208151606081018352815481526001820154938101939093526002015460ff161515908201529062001d498562003516565b9050600062001d5a87848462003528565b90508062001d7c5760405162461bcd60e51b815260040162000cd39062005146565b62001d8a8783600162003758565b50505050505050565b6001600160a01b0380821660009081526007602052604090205482911662001dcf5760405162461bcd60e51b815260040162000cd39062005180565b620010048233600062002e9f565b6001600160a01b038082166000908152600760205260409020548291168062001e1a5760405162461bcd60e51b815260040162000cd39062005180565b336001600160a01b0316816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b15801562001e5e57600080fd5b505afa15801562001e73573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e99919062004c80565b6001600160a01b03161462001ec25760405162461bcd60e51b815260040162000cd39062005163565b6001600160a01b03831660009081526009602052604090206002015460ff16158062001ef3575062001ef36200151b565b62001f125760405162461bcd60e51b815260040162000cd39062005146565b62000fb68360016200396c565b6006818154811062001f3057600080fd5b6000918252602090912001546001600160a01b0316905081565b60005461010090046001600160a01b0316331462001f7c5760405162461bcd60e51b815260040162000cd39062005163565b600180546001600160a01b0319166001600160a01b0383169081179091556040517faefcaa6215f99fe8c2f605dd268ee4d23a5b596bbca026e25ce8446187f4f1ba90600090a250565b606060058054806020026020016040519081016040528092919081815260200182805480156200202057602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162002001575b5050505050905090565b60005460ff16620020645760405162461bcd60e51b8152602060048201526003602482015262229a1960e91b604482015260640162000cd3565b6001600160a01b0380861660009081526007602052604090205486911615620020b65760405162461bcd60e51b815260206004820152600360248201526245303760e81b604482015260640162000cd3565b4315620020ec5760405162461bcd60e51b815260206004820152600360248201526245313360e81b604482015260640162000cd3565b60008311620021245760405162461bcd60e51b8152602060048201526003602482015262114c4d60ea1b604482015260640162000cd3565b6000620021318462003516565b905060006200214c82600e5462003abb90919063ffffffff16565b9050600062002169601254620021628462003516565b9062003abb565b905080471015620021a35760405162461bcd60e51b815260206004820152600360248201526245313560e81b604482015260640162000cd3565b600089898986896001604051620021ba9062004c09565b620021cb969594939291906200503c565b604051809103906000f080158015620021e8573d6000803e3d6000fd5b506006805460018082019092557ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b03199081166001600160a01b038f811691821790935560008181526007602090815260408083208054909516958816959095179093558351606080820186528b82528185018381528287018d8152858552600887528785209351845590518389015551600292830155855190810186528b8152808501838152818701888152948452600990955294822094518555925194840194909455519101805460ff1916911515919091179055600e80549293508692909190620022e2908490620051d7565b90915550620022f59050600a8262003b04565b601954604051631dfeb85f60e01b81526001600160a01b038c81166004830152602482018a905290911690631dfeb85f90604401600060405180830381600087803b1580156200234457600080fd5b505af115801562002359573d6000803e3d6000fd5b5050505050505050505050505050565b601c818154811062001f3057600080fd5b606060ff82166200238a57601591505b600b5460ff600160a01b90910481169083161115620023b357600b54600160a01b900460ff1691505b60008260ff1667ffffffffffffffff811115620023e057634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156200240a578160200160208202803683370190505b50600a549091506001600160a01b031660005b8460ff168160ff1610156200250b57816001600160a01b0316633a5381b56040518163ffffffff1660e01b815260040160206040518083038186803b1580156200246657600080fd5b505afa1580156200247b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024a1919062004c80565b838260ff1681518110620024c557634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092018101919091529281166000908152600d909352604090922054909116908062002502816200529d565b9150506200241d565b50909392505050565b6001600160a01b0380851660009081526007602052604090205485911615620025665760405162461bcd60e51b815260206004820152600360248201526245303760e81b604482015260640162000cd3565b600034156200257d576200257a3462004119565b90505b60006200258a8262003516565b600154909150600160a01b900460ff1615620025e457652d79883d2000811015620025de5760405162461bcd60e51b815260206004820152600360248201526204532360ec1b604482015260640162000cd3565b6200262b565b60005461010090046001600160a01b031633146200262b5760405162461bcd60e51b815260206004820152600360248201526245323160e81b604482015260640162000cd3565b6000652d79883d200082106200263f575060015b6000888888858986604051620026559062004c09565b62002666969594939291906200503c565b604051809103906000f08015801562002683573d6000803e3d6000fd5b5060068054600181019091557ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b03199081166001600160a01b038d8116918217909355600090815260076020526040902080549091169183169190911790559050620026f8620041b5565b6010546000906200270a9085620033bd565b9050604051806060016040528085815260200182815260200185815250600860008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000155602082015181600101556040820151816002015590505083600e6000828254620027819190620051d7565b9091555060019050836003811115620027aa57634e487b7160e01b600052602160045260246000fd5b1415620027be57620027be600a8362003b04565b886001600160a01b03168a6001600160a01b03167fa89c42d28da99880ab0a25764963efb2991ebf2e19b963718698ecc33c1ee6028a87876040516200280793929190620051ba565b60405180910390a384156200287f57601954604051631dfeb85f60e01b81526001600160a01b038c811660048301526024820188905290911690631dfeb85f90604401600060405180830381600087803b1580156200286557600080fd5b505af11580156200287a573d6000803e3d6000fd5b505050505b896001600160a01b031660008051602062007df483398151915285600e54620028a991906200522b565b600e546040805192835260208301919091520160405180910390a250505050505050505050565b6001600160a01b038082166000908152600760205260409020548291166200290c5760405162461bcd60e51b815260040162000cd39062005180565b620010048260006200396c565b6001600160a01b03808316600090815260076020526040902054839116620029555760405162461bcd60e51b815260040162000cd39062005180565b62000fb683620029658462003516565b600062003758565b3341146200298f5760405162461bcd60e51b815260040162000cd3906200519d565b6001600160a01b03808216600090815260076020526040902054829116620029cb5760405162461bcd60e51b815260040162000cd39062005180565b436000908152601560209081526040808320600380855292529091205460ff161562002a0b5760405162461bcd60e51b815260040162000cd39062005129565b43600090815260156020526040812060019183600481111562002a3e57634e487b7160e01b600052602160045260246000fd5b600481111562002a5e57634e487b7160e01b600052602160045260246000fd5b815260208082019290925260409081016000908120805460ff1916941515949094179093556001600160a01b0386168352601b90915290206002015460ff1662002b1057601c80546001600160a01b0385166000818152601b6020526040812060018082018590558085019095557f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a21190930180546001600160a01b0319168317905552600201805460ff191690911790555b6001600160a01b0383166000908152601b6020526040812080549162002b36836200527f565b90915550506001600160a01b0383166000908152601b602052604090205462002b6290603090620052c0565b62002b8e5762002b7483600162002d09565b6001600160a01b0383166000908152601b60205260408120555b826001600160a01b03167f958c4e419432304eb5d6a49f6d489079229a221430ab45c481a51bcf90a5b78c4260405162002bca91815260200190565b60405180910390a2505050565b33411462002bf95760405162461bcd60e51b815260040162000cd3906200519d565b436000908152601560209081526040808320600280855292529091205460ff161562002c395760405162461bcd60e51b815260040162000cd39062005129565b43600090815260156020526040812060019183600481111562002c6c57634e487b7160e01b600052602160045260246000fd5b600481111562002c8c57634e487b7160e01b600052602160045260246000fd5b81526020810191909152604001600020805460ff191691151591909117905560135462002cba9043620052c0565b1562002cef5760405162461bcd60e51b815260206004820152600360248201526245313960e81b604482015260640162000cd3565b81600f5414620010045762002d03620041b5565b50600f55565b6001600160a01b038083166000908152600760205260408120549091169062002d32846200420e565b6001600160a01b038516600090815260086020526040812060028101549293509162002d68906103e89062001b0b9088620033bd565b8254909150819081111562002d7b575081545b8083600001600082825462002d9191906200522b565b9091555050601054835462002da691620033bd565b836001018190555080600e600082825462002dc291906200522b565b925050819055508183600201600082825462002ddf91906200522b565b92505081905550866001600160a01b031660008051602062007df483398151915282600e5462002e109190620051d7565b600e546040805192835260208301919091520160405180910390a2604051631c04cebf60e01b8152600481018790526001600160a01b03861690631c04cebf9086906024016000604051808303818588803b15801562002e6f57600080fd5b505af115801562002e84573d6000803e3d6000fd5b505050505062001d8a85600a6200428f90919063ffffffff16565b600062002eac3462004119565b9050600062002ebb856200420e565b6001600160a01b038087166000908152600760205260408120549293509116908062002ee78562003516565b9050851562002f785760405163eb4f16b560e01b8152600481018290526001600160a01b0384169063eb4f16b59086906024016020604051808303818588803b15801562002f3457600080fd5b505af115801562002f49573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002f70919062004f6e565b915062003003565b60405163c72e33f560e01b8152600481018290526001600160a01b03888116602483015284169063c72e33f59086906044016020604051808303818588803b15801562002fc457600080fd5b505af115801562002fd9573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062003000919062004f6e565b91505b6001600160a01b038816600090815260086020526040812080549091839183919062003031908490620051d7565b92505081905550818160020160008282546200304e9190620051d7565b9091555050805460105462003064919062005209565b816001018190555081600e6000828254620030809190620051d7565b90915550620030929050848462004496565b601954604051631dfeb85f60e01b81526001600160a01b038a811660048301526024820189905290911690631dfeb85f90604401600060405180830381600087803b158015620030e157600080fd5b505af1158015620030f6573d6000803e3d6000fd5b50505050886001600160a01b031660008051602062007df483398151915283600e546200312491906200522b565b600e546040805192835260208301919091520160405180910390a2505050505050505050565b600062003157836200420e565b6001600160a01b0384166000908152600860205260409020805460105492935090916200318491620033bd565b60018201556001600160a01b0380851660009081526007602052604081205490911690338515620032385760405163275a68dd60e11b81526001600160a01b038281166004830152841690634eb4d1ba9087906024016020604051808303818588803b158015620031f457600080fd5b505af115801562003209573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062003230919062004fb9565b9150620032e4565b6040516315dd2d5560e01b81526001600160a01b038281166004830152600091908516906315dd2d5590889060240160408051808303818588803b1580156200328057600080fd5b505af115801562003295573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620032bc919062004fd2565b90935090508015620032e25780600e6000828254620032dc91906200522b565b90915550505b505b811562003380576001600160a01b03871660009081526008602052604081206002018054849290620033189084906200522b565b90915550600090506200332b8362003516565b905062003339828262003451565b60405181815233906001600160a01b038a16907fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda39060200160405180910390a35062001d8a565b6040516001600160a01b038816907f8d582b00f475c8e1026abf1c7f8c3c4e81e4874ff58fabfca37eb222735d0c0d90600090a250505050505050565b600082620033ce5750600062001423565b6000620033dc838562005209565b905082620033eb8583620051f2565b14620034205760405162461bcd60e51b81526020600482015260036024820152624d303360e81b604482015260640162000cd3565b9392505050565b600062003420838360405180604001604052806003815260200162134c0d60ea1b8152506200453b565b80471015620034895760405162461bcd60e51b8152602060048201526003602482015262114c0d60ea1b604482015260640162000cd3565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114620034d8576040519150601f19603f3d011682016040523d82523d6000602084013e620034dd565b606091505b505090508062000fb65760405162461bcd60e51b815260206004820152600360248201526245303560e81b604482015260640162000cd3565b60006200142382633b9aca00620033bd565b60008260400151156200374e57600254421015620035495750600062003420565b60035415620036bf576000600354600254426200356791906200522b565b620035739190620051f2565b905060006200359760045462001b0b848860000151620033bd90919063ffffffff16565b90506004548210620036355760006040860152602085018051859190620035c0908390620051d7565b9052506001600160a01b038616600081815260096020908152604080832089518155918901516001830155888101516002909201805460ff191692151592909217909155517fc484462ff1beade69379ba04c4af2d90b5c8482405682a8fda61ac09fdc1c40d9190a260019250505062003420565b80848660200151620036489190620051d7565b11620036b3578385602001818151620036629190620051d7565b9052505050506001600160a01b0383166000908152600960209081526040918290208451815590840151600180830191909155918401516002909101805460ff191691151591909117905562003420565b60009250505062003420565b60006040840152602083018051839190620036dc908390620051d7565b9052506001600160a01b038416600081815260096020908152604080832087518155918701516001830155868101516002909201805460ff191692151592909217909155517fc484462ff1beade69379ba04c4af2d90b5c8482405682a8fda61ac09fdc1c40d9190a250600162003420565b5060019392505050565b60008211620037905760405162461bcd60e51b815260206004820152600360248201526245323360e81b604482015260640162000cd3565b6001600160a01b0383166000908152600860209081526040918290208251606081018452815480825260018301549382019390935260029091015492810192909252831115620038095760405162461bcd60e51b8152602060048201526003602482015262114c8d60ea1b604482015260640162000cd3565b600062003816856200420e565b6001600160a01b03808716600090815260076020526040812054929350911690338515620038c9576040516302e0656960e41b8152600481018890526001600160a01b03841690632e0656909086906024016020604051808303818588803b1580156200388257600080fd5b505af115801562003897573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190620038be919062004f6e565b915087905062003952565b60405163f3e54a7360e01b8152600481018890523360248201526001600160a01b0384169063f3e54a739086906044016020604051808303818588803b1580156200391357600080fd5b505af115801562003928573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906200394f919062004f6e565b91505b6200396288848985853362004577565b5050505050505050565b600062003979836200420e565b6001600160a01b038085166000908152600760205260408120549293509116908033851562003a2757836001600160a01b03166383008f52866040518263ffffffff1660e01b815260040160408051808303818588803b158015620039dd57600080fd5b505af1158015620039f2573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062003a19919062004f8b565b909350915086905062003aab565b60405163d2a71d3560e01b81523360048201526001600160a01b0385169063d2a71d3590879060240160408051808303818588803b15801562003a6957600080fd5b505af115801562003a7e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062003aa5919062004f8b565b90935091505b62001d8a87858486853362004577565b60008062003aca8385620051d7565b905083811015620034205760405162461bcd60e51b81526020600482015260036024820152624d303160e81b604482015260640162000cd3565b6001820154600160a01b900460ff1662003b775781546001600160a01b0382166001600160a01b0319918216811784556001840180549092161780825560ff600160a01b9091041690601462003b5a836200529d565b91906101000a81548160ff021916908360ff160217905550505050565b81546001600160a01b038281169116141562003b91575050565b6001600160a01b038082166000908152600284016020526040902054168062003d6557600183018054600160a01b900460ff1690601462003bd2836200529d565b91906101000a81548160ff021916908360ff160217905550508260010160009054906101000a90046001600160a01b03166001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562003c3c57600080fd5b505afa15801562003c51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003c77919062004fb9565b826001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562003cb157600080fd5b505afa15801562003cc6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003cec919062004fb9565b1162003d5057506001820180546001600160a01b039283166000818152600286016020908152604080832080549588166001600160a01b03199687161790558554909616825260039096019095529290932080548416831790558054909216179055565b5060018201546001600160a01b031662003f0d565b806001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562003d9f57600080fd5b505afa15801562003db4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003dda919062004fb9565b826001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562003e1457600080fd5b505afa15801562003e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003e4f919062004fb9565b1162003e5a57505050565b6001600160a01b038083166000818152600386016020526040808220548585168352912080546001600160a01b0319169184169190911790556001850154909116141562003ec5576001830180546001600160a01b0319166001600160a01b03831617905562003f0d565b6001600160a01b03808316600090815260028501602081815260408084205460038901835281852054861685529290915290912080546001600160a01b031916919092161790555b6001600160a01b038116158015906200400d5750806001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562003f5b57600080fd5b505afa15801562003f70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003f96919062004fb9565b826001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562003fd057600080fd5b505afa15801562003fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200400b919062004fb9565b115b1562004036576001600160a01b0390811660009081526002840160205260409020541662003f0d565b6001600160a01b038116620040a7575081546001600160a01b039182166000818152600385016020908152604080832080549587166001600160a01b031996871617905586549095168252600286019052838120805484168317905581815292909220805482169055825416179055565b6001600160a01b0390811660008181526003850160209081526040808320805496861680855282852080549888166001600160a01b0319998a16179055815490961684526002909701909152808220805486168517905585548516841790955591825292902080549091169091179055565b60008062004130670de0b6b3a764000084620051f2565b905060018110156200416b5760405162461bcd60e51b815260206004820152600360248201526245323560e81b604482015260640162000cd3565b826200418082670de0b6b3a764000062005209565b14620014235760405162461bcd60e51b815260206004820152600360248201526222991b60e91b604482015260640162000cd3565b600060115443620041c791906200522b565b9050801562001a1557600e5481600f54620041e3919062005209565b620041ef9190620051f2565b60106000828254620042029190620051d7565b90915550504360115550565b60006200421a620041b5565b6001600160a01b0382166000908152600860209081526040808320815160608101835281548082526001830154948201859052600290920154928101929092526010549193926200427a929091620042739190620033bd565b90620046c3565b90506200428781620046ed565b949350505050565b81546001600160a01b03828116911614801590620042c757506001600160a01b03818116600090815260028401602052604090205416155b15620042d1575050565b60018201546001600160a01b03828116911614156200431e576001600160a01b0380821660009081526002840160205260409020546001840180546001600160a01b031916919092161790555b81546001600160a01b038281169116141562004362576001600160a01b03808216600090815260038401602052604090205483546001600160a01b03191691161782555b6001600160a01b038082166000908152600384016020526040902054168015620043be576001600160a01b038083166000908152600285016020526040808220548484168352912080546001600160a01b031916919092161790555b6001600160a01b0380831660009081526002850160205260409020541680156200441a576001600160a01b038084166000908152600386016020526040808220548484168352912080546001600160a01b031916919092161790555b6001600160a01b0383166000908152600285016020908152604080832080546001600160a01b03199081169091556003880190925290912080549091169055600184018054600160a01b900460ff1690601462004477836200525f565b91906101000a81548160ff021916908360ff1602179055505050505050565b6001816003811115620044b957634e487b7160e01b600052602160045260246000fd5b1415620044cd5762001004600a8362003b04565b6002816003811115620044f057634e487b7160e01b600052602160045260246000fd5b1415620045045762001004600a8362004772565b60038160038111156200452757634e487b7160e01b600052602160045260246000fd5b1415620010045762001004600a836200428f565b600081836200455f5760405162461bcd60e51b815260040162000cd39190620050d3565b5060006200456e8486620051f2565b95945050505050565b6001600160a01b0386166000908152600860205260408120805490918691839190620045a59084906200522b565b90915550508054601054620045bb919062005209565b816001018190555084600e6000828254620045d791906200522b565b90915550620045e99050868562004496565b6019546001600160a01b031663821b3e8584846200460c633b9aca008a620051f2565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156200465c57600080fd5b505af115801562004671573d6000803e3d6000fd5b50505050866001600160a01b031660008051602062007df483398151915286600e546200469f9190620051d7565b600e546040805192835260208301919091520160405180910390a250505050505050565b60006200342083836040518060400160405280600381526020016226981960e91b81525062004b69565b6000601254600014156200470357506000919050565b60125482908110620047535750601280546000909155604051600181527ffea2322f7ff1da0a9aaf4bdbe1f48d197c176670e395853ad39a1aea895654f19060200160405180910390a162001423565b82601260008282546200476791906200522b565b909155505092915050565b6001600160a01b038082166000818152600385016020526040902054600185015490831692161480620047ac57506001600160a01b038116155b80620048a05750816001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b158015620047ed57600080fd5b505afa15801562004802573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004828919062004fb9565b816001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200486257600080fd5b505afa15801562004877573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200489d919062004fb9565b11155b15620048ab57505050565b6001600160a01b038083166000818152600286016020526040808220548585168352912080546001600160a01b031916918416919091179055845490911614156200490f5782546001600160a01b0319166001600160a01b03821617835562004951565b6001600160a01b0382811660009081526002850160209081526040808320548416835260038701909152902080546001600160a01b0319169183169190911790555b6001600160a01b0381161580159062004a515750816001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200499f57600080fd5b505afa158015620049b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620049da919062004fb9565b816001600160a01b0316638b0e9f3f6040518163ffffffff1660e01b815260040160206040518083038186803b15801562004a1457600080fd5b505afa15801562004a29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004a4f919062004fb9565b115b1562004a7a576001600160a01b0390811660009081526003840160205260409020541662004951565b6001600160a01b03811662004af157506001820180546001600160a01b039283166000818152600286016020908152604080832080549588166001600160a01b0319968716179055600390970190528581208054841690558354909416845293909220805483168417905580549091169091179055565b6001600160a01b0390811660008181526002850160208181526040808420805487168552600390980180835281852080546001600160a01b0319908116998916998a17909155848452895489875283872080549190991690821617909755825283208054861685179055929091529052825416179055565b6000818484111562004b905760405162461bcd60e51b815260040162000cd39190620050d3565b5060006200456e84866200522b565b82805482825590600052602060002090810192821562004bf7579160200282015b8281111562004bf757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004bc0565b5062004c0592915062004c17565b5090565b612ac4806200533083390190565b5b8082111562004c05576000815560010162004c18565b803562004c3b8162005319565b919050565b8035801515811462004c3b57600080fd5b80516004811062004c3b57600080fd5b60006020828403121562004c73578081fd5b8135620034208162005319565b60006020828403121562004c92578081fd5b8151620034208162005319565b6000806040838503121562004cb2578081fd5b823562004cbf8162005319565b9150602083013562004cd18162005319565b809150509250929050565b6000806000806080858703121562004cf2578182fd5b843562004cff8162005319565b9350602085013562004d118162005319565b92506040850135915062004d286060860162004c40565b905092959194509250565b600080600080600060a0868803121562004d4b578081fd5b853562004d588162005319565b9450602086013562004d6a8162005319565b9350604086013592506060860135915062004d886080870162004c40565b90509295509295909350565b6000806040838503121562004da7578182fd5b823562004db48162005319565b946020939093013593505050565b6000806000806000806000806000806101408b8d03121562004de2578485fd5b8a3562004def8162005319565b995060208b0135985060408b0135975060608b0135965060808b0135955060a08b0135945060c08b0135935060e08b013592506101008b013562004e338162005319565b91506101208b013562004e468162005319565b809150509295989b9194979a5092959850565b6000602080838503121562004e6c578182fd5b823567ffffffffffffffff8082111562004e84578384fd5b818501915085601f83011262004e98578384fd5b81358181111562004ead5762004ead62005303565b8060051b604051601f19603f8301168101818110858211171562004ed55762004ed562005303565b604052828152858101935084860182860187018a101562004ef4578788fd5b8795505b8386101562004f215762004f0c8162004c2e565b85526001959095019493860193860162004ef8565b5098975050505050505050565b60006020828403121562004f40578081fd5b5035919050565b6000806040838503121562004f5a578182fd5b82359150602083013562004cd18162005319565b60006020828403121562004f80578081fd5b620034208262004c51565b6000806040838503121562004f9e578182fd5b62004fa98362004c51565b9150602083015190509250929050565b60006020828403121562004fcb578081fd5b5051919050565b6000806040838503121562004fe5578182fd5b505080516020909101519092909150565b60006020828403121562005008578081fd5b813560ff8116811462003420578182fd5b600481106200503857634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b038781168252861660208201526040810185905260608101849052821515608082015260c081016200507960a083018462005019565b979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015620050c75783516001600160a01b031683529284019291840191600101620050a0565b50909695505050505050565b6000602080835283518082850152825b818110156200510157858101830151858201604001528201620050e3565b81811115620051135783604083870101525b50601f01601f1916929092016040019392505050565b60208082526003908201526222981b60e91b604082015260600190565b60208082526003908201526222991960e91b604082015260600190565b60208082526003908201526222981960e91b604082015260600190565b60208082526003908201526208a60760eb1b604082015260600190565b60208082526003908201526204534360ec1b604082015260600190565b838152602081018390526060810162004287604083018462005019565b60008219821115620051ed57620051ed620052d7565b500190565b600082620052045762005204620052ed565b500490565b6000816000190483118215151615620052265762005226620052d7565b500290565b600082821015620052405762005240620052d7565b500390565b600081620052575762005257620052d7565b506000190190565b600060ff821680620052755762005275620052d7565b6000190192915050565b6000600019821415620052965762005296620052d7565b5060010190565b600060ff821660ff811415620052b757620052b7620052d7565b60010192915050565b600082620052d257620052d2620052ed565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811462001a1557600080fdfe60806040523480156200001157600080fd5b5060405162002ac438038062002ac48339810160408190526200003491620001f5565b856001600160a01b038116620000775760405162461bcd60e51b815260206004820152600360248201526245303960e81b60448201526064015b60405180910390fd5b856001600160a01b038116620000b65760405162461bcd60e51b815260206004820152600360248201526245303960e81b60448201526064016200006e565b856064811115620000f05760405162461bcd60e51b815260206004820152600360248201526245323760e81b60448201526064016200006e565b665543df729c00008611156200012f5760405162461bcd60e51b815260206004820152600360248201526245323960e81b60448201526064016200006e565b60028054336001600160a01b0319918216179091556003805482166001600160a01b038c811691909117825560008054909316908b161790915560048890556005879055600687905560088790556007805460ff1981168815159081178355879361ffff1990921661ff00199091161790610100908490811115620001c457634e487b7160e01b600052602160045260246000fd5b02179055505050505050505050506200026f565b80516001600160a01b0381168114620001f057600080fd5b919050565b60008060008060008060c087890312156200020e578182fd5b6200021987620001d8565b95506200022960208801620001d8565b94506040870151935060608701519250608087015180151581146200024c578283fd5b60a08801519092506004811062000261578182fd5b809150509295509295509295565b612845806200027f6000396000f3fe6080604052600436106102885760003560e01c80637977f9811161015a578063c72e33f5116100c1578063ea1466d31161007a578063ea1466d31461077f578063eb4f16b5146107a9578063ec9df9f6146107bc578063f28e5f6114610545578063f3e54a73146107d2578063f851a440146107e557600080fd5b8063c72e33f5146106ff578063c967f90f14610712578063d2957b2f14610739578063d2a71d351461074e578063e18b7fcf14610761578063e1d517851461076957600080fd5b80638da5cb5b116101135780638da5cb5b146106755780638f2839701461069557806398c2199d146106b5578063a9590889146106ca578063b9373707146105a1578063c19d93fb146106e057600080fd5b80637977f98114610586578063820805af146105a157806383008f52146105bb57806386ccb407146105d15780638b0e9f3f146105e75780638d23fc61146105fd57600080fd5b806326782247116101fe5780634bb1646c116101b75780634bb1646c146104af5780634eb4d1ba14610512578063507ae5e7146105255780635a651019146105455780635ea1d6f81461055a57806362cb3e501461057057600080fd5b806326782247146103e35780632b8aba7a1461041b5780632e065690146104315780633a5381b51461045157806347a4ea2b14610471578063481c6a751461049157600080fd5b806315de360e1161025057806315de360e146103615780631927207f146103785780631c04cebf1461038e578063213a4894146103a15780632337fa08146103b8578063237a1f2e146103cd57600080fd5b8063023455651461028d57806302858725146102b5578063073d2eb41461030c5780630e18b6811461032257806315dd2d5514610339575b600080fd5b34801561029957600080fd5b506102a2603081565b6040519081526020015b60405180910390f35b3480156102c157600080fd5b506102f16102d03660046125af565b60136020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016102ac565b34801561031857600080fd5b506102a2600a5481565b34801561032e57600080fd5b50610337610805565b005b61034c6103473660046125af565b6108ae565b604080519283526020830191909152016102ac565b34801561036d57600080fd5b506102a26201518081565b34801561038457600080fd5b506102a26103e881565b61033761039c3660046125f6565b610a72565b3480156103ad57600080fd5b506102a2621baf8081565b3480156103c457600080fd5b506011546102a2565b3480156103d957600080fd5b506102a260105481565b3480156103ef57600080fd5b50600154610403906001600160a01b031681565b6040516001600160a01b0390911681526020016102ac565b34801561042757600080fd5b506102a2600f5481565b61044461043f3660046125f6565b610c23565b6040516102ac919061263d565b34801561045d57600080fd5b50600354610403906001600160a01b031681565b34801561047d57600080fd5b506102a261048c36600461260e565b610d3b565b34801561049d57600080fd5b506000546001600160a01b0316610403565b3480156104bb57600080fd5b5061034c6104ca3660046125cb565b6001600160a01b039190911660009081526013602090815260408083209383526003909301815290829020825180840190935280548084526001909101549290910182905291565b6102a26105203660046125af565b610e24565b34801561053157600080fd5b506104036105403660046125f6565b610fb2565b34801561055157600080fd5b506102a2600181565b34801561056657600080fd5b506102a260045481565b34801561057c57600080fd5b506102a260055481565b34801561059257600080fd5b506102a2665543df729c000081565b3480156105ad57600080fd5b506102a2652d79883d200081565b6105c3610fdc565b6040516102ac929190612650565b3480156105dd57600080fd5b506102a260085481565b3480156105f357600080fd5b506102a260065481565b34801561060957600080fd5b5061064b6106183660046125af565b6012602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290919085565b6040805195151586526020860194909452928401919091526060830152608082015260a0016102ac565b34801561068157600080fd5b50600254610403906001600160a01b031681565b3480156106a157600080fd5b506103376106b03660046125af565b61112d565b3480156106c157600080fd5b506102a2600a81565b3480156106d657600080fd5b506102a2600e5481565b3480156106ec57600080fd5b5060075461044490610100900460ff1681565b61044461070d36600461260e565b6111b7565b34801561071e57600080fd5b50610727601581565b60405160ff90911681526020016102ac565b34801561074557600080fd5b506102a2600281565b6105c361075c3660046125af565b611391565b610337611498565b34801561077557600080fd5b506102a260095481565b34801561078b57600080fd5b506007546107999060ff1681565b60405190151581526020016102ac565b6104446107b73660046125f6565b6114db565b3480156107c857600080fd5b506102a2600d5481565b6104446107e036600461260e565b6115d6565b3480156107f157600080fd5b50600054610403906001600160a01b031681565b6001546001600160a01b0316331461084a5760405162461bcd60e51b815260206004820152600360248201526245303360e81b60448201526064015b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60025460009081906001600160a01b031633146108dd5760405162461bcd60e51b8152600401610841906126e0565b6108e683611646565b6108ee6116d0565b6001600160a01b0383166000908152601260205260408120600381015460028201546001830154600a5493949361093b939261093592909161092f9161175e565b906117b9565b906117fe565b90506109568260010154600a5461175e90919063ffffffff16565b60038301556000600283015580156109b7576109728582611826565b6003546040518281526001600160a01b038781169216907fd01566b65da2d62cb66f3844588c99d9a95b38394ccdc9c3f7604536e653cf1b9060200160405180910390a35b60006109c2866118e5565b90506109ce818661271a565b94506003600754610100900460ff1660038111156109fc57634e487b7160e01b600052602160045260246000fd5b148015610a0b575042600e5411155b15610a53576001830154610a1f908661271a565b9450826001015460066000828254610a379190612771565b9091555050600183018054600091829055600385019190915593505b8460086000828254610a659190612771565b9091555050505050915091565b6002546001600160a01b03163314610a9c5760405162461bcd60e51b8152600401610841906126e0565b610aa46116d0565b6000610ac76103e8610ac18460085461175e90919063ffffffff16565b90611a07565b90508060065410610aef578060066000828254610ae49190612771565b90915550610af59050565b60006006555b6003546001600160a01b0316600090815260136020526040812060020154600554610b1f916117b9565b90506000610b336103e8610ac1848761175e565b90508060055410610b5b578060056000828254610b509190612771565b90915550610b8b9050565b600060055482610b6b9190612771565b6000600555600354909150610b89906001600160a01b031682611a2f565b505b8260086000828254610b9d9190612771565b925050819055508360106000828254610bb6919061271a565b909155505043600f556007805461020061ff00198216179182905560035460405160ff6101009384900481169441946001600160a01b03909416936000805160206127f083398151915293610c149388939290920490911690612667565b60405180910390a35050505050565b6002546000906001600160a01b03163314610c505760405162461bcd60e51b8152600401610841906126e0565b610c58611b9a565b1515600114610c795760405162461bcd60e51b8152600401610841906126fd565b610c8982652d79883d20006117b9565b6005541015610cc05760405162461bcd60e51b815260206004820152600360248201526245333160e81b6044820152606401610841565b610cc86116d0565b600a54610cd59083612752565b600b6000828254610ce6919061271a565b925050819055508160056000828254610cff9190612771565b909155505060008054610d1c9084906001600160a01b0316611c56565b600354909150610d35906001600160a01b031684611e52565b92915050565b6002546000906001600160a01b03163314610d685760405162461bcd60e51b8152600401610841906126e0565b6000610d846064610ac16004548761175e90919063ffffffff16565b90506000610d928286612771565b9050600060065482610da49190612732565b9050600081600a54610db6919061271a565b6000549091506001600160a01b0387811691161415610e0f57600060065483610ddf9190612752565b88600954610ded919061271a565b610df79190612771565b9050610e038183611ed7565b95505050505050610d35565b610e198187611fb5565b979650505050505050565b6002546000906001600160a01b03163314610e515760405162461bcd60e51b8152600401610841906126e0565b610e596116d0565b6000610e7e600c54610935600b5461092f600554600a5461175e90919063ffffffff16565b9050610e97600554600a5461175e90919063ffffffff16565b600c556000600b819055600d54600954610eb7919061092f9085906117b9565b60006009819055600d5590508015610f1857610ed38482611826565b6003546040518281526001600160a01b038681169216907fd01566b65da2d62cb66f3844588c99d9a95b38394ccdc9c3f7604536e653cf1b9060200160405180910390a35b600354600090610f30906001600160a01b03166118e5565b9050610f3c818561271a565b93506003600754610100900460ff166003811115610f6a57634e487b7160e01b600052602160045260246000fd5b148015610f79575042600e5411155b15610f9357600554610f8b908561271a565b600060055593505b8360086000828254610fa59190612771565b9091555050505050919050565b60118181548110610fc257600080fd5b6000918252602090912001546001600160a01b0316905081565b60025460009081906001600160a01b0316331461100b5760405162461bcd60e51b8152600401610841906126e0565b6003600754610100900460ff16600381111561103757634e487b7160e01b600052602160045260246000fd5b141561106b5760405162461bcd60e51b815260206004820152600360248201526222999960e91b6044820152606401610841565b6007805461ff0019811661030017909155610100900460ff16611091621baf804261271a565b600e5561109c6116d0565b600060018260038111156110c057634e487b7160e01b600052602160045260246000fd5b14156110ca575060035b600554600660008282546110de9190612771565b9091555050600054600380546040516001600160a01b0393841693909116916000805160206127f083398151915291611118918791612667565b60405180910390a36005549093509150509091565b6000546001600160a01b0316331461116d5760405162461bcd60e51b815260206004820152600360248201526222981960e91b6044820152606401610841565b600180546001600160a01b0319166001600160a01b0383169081179091556040517faefcaa6215f99fe8c2f605dd268ee4d23a5b596bbca026e25ce8446187f4f1ba90600090a250565b6002546000906001600160a01b031633146111e45760405162461bcd60e51b8152600401610841906126e0565b6111ec611b9a565b151560011461120d5760405162461bcd60e51b8152600401610841906126fd565b60075460ff166112455760405162461bcd60e51b815260206004820152600360248201526245333360e81b6044820152606401610841565b600654665543df729c00009061125b90856117b9565b111561128f5760405162461bcd60e51b815260206004820152600360248201526245323960e81b6044820152606401610841565b6001600160a01b03821660009081526012602052604090205460ff16611315576001600160a01b0382166000818152601260205260408120805460ff191660019081179091556011805491820181559091527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680180546001600160a01b03191690911790555b61131e82611646565b6113266116d0565b6001600160a01b0382166000908152601260205260409020600a5461134b9085612752565b81600301600082825461135e919061271a565b9250508190555083816001016000828254611379919061271a565b9091555061138990508484612146565b949350505050565b60025460009081906001600160a01b031633146113c05760405162461bcd60e51b8152600401610841906126e0565b6113c8611b9a565b15156001146113e95760405162461bcd60e51b8152600401610841906126fd565b6001600160a01b038316600090815260126020908152604091829020825160a081018452815460ff16151581526001820154928101839052600282015493810193909352600381015460608401526004015460808301526114725760405162461bcd60e51b8152602060048201526003602482015262114ccd60ea1b6044820152606401610841565b61147b84611646565b6020810151600061148c82876122f3565b94509092505050915091565b6002546001600160a01b031633146114c25760405162461bcd60e51b8152600401610841906126e0565b34600d60008282546114d4919061271a565b9091555050565b6002546000906001600160a01b031633146115085760405162461bcd60e51b8152600401610841906126e0565b611510611b9a565b15156001146115315760405162461bcd60e51b8152600401610841906126fd565b600654665543df729c00009061154790846117b9565b111561157b5760405162461bcd60e51b815260206004820152600360248201526245323960e81b6044820152606401610841565b6115836116d0565b600a546115909083612752565b600c60008282546115a1919061271a565b9250508190555081600560008282546115ba919061271a565b9091555050600054610d359083906001600160a01b0316612146565b6002546000906001600160a01b031633146116035760405162461bcd60e51b8152600401610841906126e0565b61160b611b9a565b151560011461162c5760405162461bcd60e51b8152600401610841906126fd565b61163582611646565b61163f83836122f3565b9392505050565b6000611651826123ad565b6001600160a01b0383166000908152601260205260409020601054600482015590915081156116cb57818160010154106116a457818160010160008282546116999190612771565b909155506116cb9050565b60008160010154836116b69190612771565b6000600184015590506116c98482611a2f565b505b505050565b341561175c5760006116f26064610ac16004543461175e90919063ffffffff16565b905060006117008234612771565b90506000600654826117129190612732565b905080600a6000828254611726919061271a565b90915550506006546117389082612752565b6117429034612771565b60096000828254611753919061271a565b90915550505050505b565b60008261176d57506000610d35565b60006117798385612752565b9050826117868583612732565b1461163f5760405162461bcd60e51b81526020600482015260036024820152624d303360e81b6044820152606401610841565b6000806117c6838561271a565b90508381101561163f5760405162461bcd60e51b81526020600482015260036024820152624d303160e81b6044820152606401610841565b600061163f83836040518060400160405280600381526020016226981960e91b8152506124b5565b8047101561185c5760405162461bcd60e51b8152602060048201526003602482015262114c0d60ea1b6044820152606401610841565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146118a9576040519150601f19603f3d011682016040523d82523d6000602084013e6118ae565b606091505b50509050806116cb5760405162461bcd60e51b815260206004820152600360248201526245303560e81b6044820152606401610841565b6001600160a01b0381166000908152601360205260408120805460018201548392911115611a005760018101545b81548110156119a757600081815260038301602090815260409182902082518084019093528054835260010154908201819052421061198e578051611958908561271a565b600083815260038501602052604081208181556001908101829055850180549296509061198483612788565b9190505550611994565b506119a7565b508061199f81612788565b915050611913565b508054600182015414156119e0576001600160a01b03841660009081526013602052604081208181556001810182905560020155611a00565b8115611a0057818160020160008282546119fa9190612771565b90915550505b5092915050565b600061163f838360405180604001604052806003815260200162134c0d60ea1b8152506124e6565b6001600160a01b03821660009081526013602052604090206002810154829190821115611a845760405162461bcd60e51b815260206004820152600360248201526204533360ec1b6044820152606401610841565b60018101545b8154811015611b42576000818152600383016020526040902080548411611af25783816000016000828254611abf9190612771565b9091555050805460009450611aec57600060018083018290558401805491611ae683612788565b91905055505b50611b42565b8054611afe9085612771565b6000838152600385016020526040812081815560019081018290558501805492965090611b2a83612788565b91905055505080611b3a81612788565b915050611a8a565b50805460018201541415611b7b576001600160a01b038416600090815260136020526040812081815560018101829055600201556116c9565b82816002016000828254611b8f9190612771565b909155505050505050565b600080600754610100900460ff166003811115611bc757634e487b7160e01b600052602160045260246000fd5b1480611bfc57506001600754610100900460ff166003811115611bfa57634e487b7160e01b600052602160045260246000fd5b145b80611c5157506002600754610100900460ff166003811115611c2e57634e487b7160e01b600052602160045260246000fd5b148015611c51575062015180611c4f600f54436117fe90919063ffffffff16565b115b905090565b60008260066000828254611c6a9190612771565b90915550600090506001600754610100900460ff166003811115611c9e57634e487b7160e01b600052602160045260246000fd5b1415611d0f57652d79883d20006006541015611d0b576003546007546040516001600160a01b038681169316916000805160206127f083398151915291611cf091610100900460ff1690600090612667565b60405180910390a3506007805461ff00191690556003611d0f565b5060025b6002600754610100900460ff166003811115611d3b57634e487b7160e01b600052602160045260246000fd5b1415611e0e57652d79883d20006006541080611d5e5750652d79883d2000600554105b15611db7576003546007546040516001600160a01b038681169316916000805160206127f083398151915291611d9f91610100900460ff1690600090612667565b60405180910390a36007805461ff0019169055611e0e565b6003546007546040516001600160a01b038681169316916000805160206127f083398151915291611df391610100900460ff1690600190612667565b60405180910390a3506007805461ff00191661010017905560015b6006546003546040516001600160a01b038087169216907f6ed333cce6c087c78e438d4efc04f8896d69bb75d08206a96869dd0b82ff420f90600090a49392505050565b6001600160a01b038216600090815260136020908152604091829020825180840190935283835291908101611e8a621baf804261271a565b90528154600090815260038301602090815260408220835181559201516001909201919091558154908290611ebe83612788565b919050555081816002016000828254611753919061271a565b600080611efb600c54610935600b5461092f6005548861175e90919063ffffffff16565b600d54909150611f0f9061092f83876117b9565b6003549091506000908190611f2c906001600160a01b0316612514565b9050611f38818361271a565b91506003600754610100900460ff166003811115611f6657634e487b7160e01b600052602160045260246000fd5b148015611f75575042600e5411155b15611f8a57600554611f87908361271a565b91505b8115611fab57611f9e82633b9aca0061175e565b611fa8908461271a565b92505b5090949350505050565b6001600160a01b0381166000908152601260209081526040808320815160a081018352815460ff16151581526001820154938101939093526002810154918301919091526003810154606083015260040154608082015281612016846123ad565b90506000811561205e578183602001511061204557818360200181815161203d9190612771565b90525061205e565b60208301516120549083612771565b6000602085015290505b60006120878460600151610935866040015161092f88602001518c61175e90919063ffffffff16565b905060008061209588612514565b905083156120ba57808411156120ad575060006120ba565b6120b78482612771565b90505b6120c4818361271a565b91506003600754610100900460ff1660038111156120f257634e487b7160e01b600052602160045260246000fd5b148015612101575042600e5411155b15612118576020860151612115908361271a565b91505b81156121395761212c82633b9aca0061175e565b612136908461271a565b92505b5090979650505050505050565b6000826006600082825461215a919061271a565b925050819055508260086000828254612173919061271a565b925050819055506000652d79883d20006006541015801561219c5750652d79883d200060055410155b1561222e576001600754610100900460ff1660038111156121cd57634e487b7160e01b600052602160045260246000fd5b14612226576003546007546040516001600160a01b038681169316916000805160206127f08339815191529161220e91610100900460ff1690600190612667565b60405180910390a36007805461ff0019166101001790555b506001611e0e565b6002600754610100900460ff16600381111561225a57634e487b7160e01b600052602160045260246000fd5b1415611e0e576003546007546040516001600160a01b038681169316916000805160206127f08339815191529161229c91610100900460ff1690600090612667565b60405180910390a36007805461ff00191690556006546003546040516001600160a01b038681169216907f6ed333cce6c087c78e438d4efc04f8896d69bb75d08206a96869dd0b82ff420f90600090a49392505050565b6001600160a01b038116600090815260126020526040812060018101548411156123455760405162461bcd60e51b8152602060048201526003602482015262114c8d60ea1b6044820152606401610841565b61234d6116d0565b600a5461235a9085612752565b81600201600082825461236d919061271a565b92505081905550838160010160008282546123889190612771565b9091555061239890508385611e52565b60006123a48585611c56565b95945050505050565b6000601054600014156123c257506000919050565b6001600160a01b038216600090815260126020908152604091829020825160a081018452815460ff1615158152600182015492810192909252600281015492820192909252600382015460608201526004909101546080820181905260105414156124305750600092915050565b600061244b82608001516010546117fe90919063ffffffff16565b6001600160a01b038516600090815260136020908152604082206002015490850151929350909115158061247f5750600081115b156124ac57602084015160009061249690836117b9565b90506124a86103e8610ac1838761175e565b9250505b50949350505050565b600081848411156124d95760405162461bcd60e51b8152600401610841919061268d565b5060006123a48486612771565b600081836125075760405162461bcd60e51b8152600401610841919061268d565b5060006123a48486612732565b6001600160a01b0381166000908152601360205260408120805460018201548392911115611a005760018101545b81548110156125a757600081815260038301602090815260409182902082518084019093528054835260010154908201819052421061258e578051612587908561271a565b9350612594565b506125a7565b508061259f81612788565b915050612542565b505092915050565b6000602082840312156125c0578081fd5b813561163f816127da565b600080604083850312156125dd578081fd5b82356125e8816127da565b946020939093013593505050565b600060208284031215612607578081fd5b5035919050565b60008060408385031215612620578182fd5b823591506020830135612632816127da565b809150509250929050565b6020810161264a836127b9565b91905290565b6040810161265d846127b9565b9281526020015290565b60408101612674846127b9565b838252612680836127b9565b8260208301529392505050565b6000602080835283518082850152825b818110156126b95785810183015185820160400152820161269d565b818111156126ca5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526003908201526245303160e81b604082015260600190565b60208082526003908201526208a64760eb1b604082015260600190565b6000821982111561272d5761272d6127a3565b500190565b60008261274d57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561276c5761276c6127a3565b500290565b600082821015612783576127836127a3565b500390565b600060001982141561279c5761279c6127a3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b600481106127d757634e487b7160e01b600052602160045260246000fd5b50565b6001600160a01b03811681146127d757600080fdfe8a8390b4461d0bcdc4b37ac49caa0fdf9bb7c82e483cd569bb0b0d0855b5dcd6a2646970667358221220faf0acbfada0a9ee35b3a6f05bdaa1abab98ffc489ea5687d555cf4831c623ae64736f6c634300080400336f541a70b0425dea8a0c0c3185e2d2345a2c7bec5f9830b57684e1d530d477c7a26469706673582212206fdc6522b08071760ca2398ef389bf1aa3611d5dadcb932b8928568f55723d8164736f6c63430008040033"
    },
    "000000000000000000000000000000000000F001": {
      "balance": "0x0",
      "init": {
        "admin": "0x352BbF453fFdcba6b126a73eD684260D7968dDc8"
      },
      "code": "0x6080604052600436106100745760003560e01c80638f2839701161004e5780638f283970146100fe578063a8031a1d1461011e578063c4d66de81461013e578063f851a4401461015e57600080fd5b80630e18b68114610080578063158ef93e1461009757806326782247146100c657600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b50610095610183565b005b3480156100a357600080fd5b506000546100b19060ff1681565b60405190151581526020015b60405180910390f35b3480156100d257600080fd5b506001546100e6906001600160a01b031681565b6040516001600160a01b0390911681526020016100bd565b34801561010a57600080fd5b50610095610119366004610489565b61023d565b34801561012a57600080fd5b506100956101393660046104ac565b6102cc565b34801561014a57600080fd5b50610095610159366004610489565b610362565b34801561016a57600080fd5b506000546100e69061010090046001600160a01b031681565b6001546001600160a01b031633146101c85760405162461bcd60e51b815260206004820152600360248201526245303360e81b60448201526064015b60405180910390fd5b600154600080546040516001600160a01b0393841693610100909204909116917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a36001805460008054610100600160a81b0319166101006001600160a01b038416021790556001600160a01b0319169055565b60005461010090046001600160a01b031633146102825760405162461bcd60e51b815260206004820152600360248201526222981960e91b60448201526064016101bf565b600180546001600160a01b0319166001600160a01b0383169081179091556040517faefcaa6215f99fe8c2f605dd268ee4d23a5b596bbca026e25ce8446187f4f1ba90600090a250565b60005461010090046001600160a01b031633146103115760405162461bcd60e51b815260206004820152600360248201526222981960e91b60448201526064016101bf565b61031b82826103c5565b816001600160a01b03167fdf29796aad820e4bb192f3a8d631b76519bcd2cbe77cc85af20e9df53cece0868260405161035691815260200190565b60405180910390a25050565b60005460ff161561039b5760405162461bcd60e51b815260206004820152600360248201526245343160e81b60448201526064016101bf565b600080546001600160a01b03909216610100026001600160a81b0319909216919091176001179055565b804710156103fb5760405162461bcd60e51b8152602060048201526003602482015262114c0d60ea1b60448201526064016101bf565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610448576040519150601f19603f3d011682016040523d82523d6000602084013e61044d565b606091505b50509050806104845760405162461bcd60e51b815260206004820152600360248201526245303560e81b60448201526064016101bf565b505050565b60006020828403121561049a578081fd5b81356104a5816104d7565b9392505050565b600080604083850312156104be578081fd5b82356104c9816104d7565b946020939093013593505050565b6001600160a01b03811681146104ec57600080fd5b5056fea2646970667358221220943e78976f0df4c09189677aa68bba3a78b86ab97d9bbdfa49559314fe48864564736f6c63430008040033"
    },
    "000000000000000000000000000000000000F002": {
      "balance": "54200000000000000000000000",
      "code": "0x6080604052600436106100555760003560e01c8063158ef93e1461005a5780631dfeb85f146100895780632cddb112146100ab578063821b3e85146100cc5780638da5cb5b146100ec578063c4d66de814610129575b600080fd5b34801561006657600080fd5b506000546100749060ff1681565b60405190151581526020015b60405180910390f35b34801561009557600080fd5b506100a96100a43660046108df565b61013c565b005b3480156100b757600080fd5b5060005461007490600160a81b900460ff1681565b3480156100d857600080fd5b506100a96100e736600461089f565b610354565b3480156100f857600080fd5b506000546101119061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610080565b6100a9610137366004610883565b610640565b60005461010090046001600160a01b031633146101865760405162461bcd60e51b815260206004820152600360248201526245303160e81b60448201526064015b60405180910390fd5b600054600160a81b900460ff161561019c575050565b6001600160a01b03808316600090815260016020818152604092839020835160608101855281549095168552918201549084018190526002909101549183019190915261027e57604080516060810182526001600160a01b038581168083526020808401878152428587018181526000858152600180865290899020975188546001600160a01b031916971696909617875591519486019490945551600290940193909355835186815292830191909152917f714397b232b09b9abe6bdfa40d07f8ad13cca926a964178cec92d68fc00af05e910160405180910390a2505050565b60006102a661028d42856106b9565b602084015160408501516102a0916106b9565b9061071d565b60208301519091506102b8908461071d565b602083018190526102c99082610975565b60408381019182526001600160a01b0386811660008181526001602081815291859020885181546001600160a01b031916951694909417845581880151908401819055945160029093018390558351948552840191909152917f714397b232b09b9abe6bdfa40d07f8ad13cca926a964178cec92d68fc00af05e910160405180910390a2505b505050565b60005461010090046001600160a01b031633146103995760405162461bcd60e51b815260206004820152600360248201526245303160e81b604482015260640161017d565b600054600160a81b900460ff16156103b057505050565b6001600160a01b038084166000908152600160208181526040928390208351606081018552815490951685529182015490840152600201549082015281158015906103ff575081816020015110155b6104315760405162461bcd60e51b8152602060048201526003602482015262114c8d60ea1b604482015260640161017d565b60006201518061044e83604001514261076290919063ffffffff16565b6104589190610975565b905060006102da821061047d576104478211156104755761044791505b50600961049a565b61016d821061048e5750600661049a565b605a821061049a575060035b801561059b5760006104b485670de0b6b3a76400006106b9565b90506000606461016d6104d1856104cb86896106b9565b906106b9565b6104db9190610975565b6104e59190610975565b90504780821061053c576000805460ff60a81b1916600160a81b1790556040516001815290915081907f2d3bb61b4cd37e28128aacebcdc7495254b6d1b62b6cfc4830fc75818b2910e59060200160405180910390a15b610546888361078a565b876001600160a01b0316896001600160a01b03167f5a27cbb3bb5a698f3b03cec45ae293094f973b5edee0f6e5b0025791ceb6066f8460405161058b91815260200190565b60405180910390a35050506105e0565b60408051858152602081018490526001600160a01b038816917ff93b996feb68dbf3dde5d218e6773964c3f61e1406eb6e68fd85f4037357e5ed910160405180910390a25b83836020018181516105f291906109b4565b90525050506001600160a01b03938416600090815260016020818152604092839020845181546001600160a01b03191698169790971787558301519086015501516002909301929092555050565b60005460ff16156106795760405162461bcd60e51b815260206004820152600360248201526245343160e81b604482015260640161017d565b600080546001600160a01b038316610100026001600160a81b0319909116176001179055476106b6576000805460ff60a81b1916600160a81b1790555b50565b6000826106c857506000610717565b60006106d48385610995565b9050826106e18583610975565b146107145760405162461bcd60e51b81526020600482015260036024820152624d303360e81b604482015260640161017d565b90505b92915050565b60008061072a838561095d565b9050838110156107145760405162461bcd60e51b81526020600482015260036024820152624d303160e81b604482015260640161017d565b600061071483836040518060400160405280600381526020016226981960e91b815250610849565b804710156107c05760405162461bcd60e51b8152602060048201526003602482015262114c0d60ea1b604482015260640161017d565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461080d576040519150601f19603f3d011682016040523d82523d6000602084013e610812565b606091505b505090508061034f5760405162461bcd60e51b815260206004820152600360248201526245303560e81b604482015260640161017d565b6000818484111561086d5760405162461bcd60e51b815260040161017d919061090a565b50600061087a84866109b4565b95945050505050565b600060208284031215610894578081fd5b8135610714816109e1565b6000806000606084860312156108b3578182fd5b83356108be816109e1565b925060208401356108ce816109e1565b929592945050506040919091013590565b600080604083850312156108f1578182fd5b82356108fc816109e1565b946020939093013593505050565b6000602080835283518082850152825b818110156109365785810183015185820160400152820161091a565b818111156109475783604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610970576109706109cb565b500190565b60008261099057634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156109af576109af6109cb565b500290565b6000828210156109c6576109c66109cb565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146106b657600080fdfea2646970667358221220fcf20256600f017b902accb874f13f684c04728e8cec1de0beef2d8797ca72ea64736f6c63430008040033"
    },
    "000000000000000000000000000000000000F003": {
      "balance": "0x0",
      "init": {
        "periodTime": "2592000",
        "lockedAccounts": [
          {
            "userAddress": "0x2FA024cA813449D315d71D49BdDF7c175C036729",
            "typeId": "1",
            "lockedAmount": "1000000000000000000000",
            "lockedTime": "0",
            "periodAmount": "48"
          },
          {
            "userAddress": "0x3F2327847cF1a9C74a835fe1A2DCbbE2FdAa9626",
            "typeId": "2",
            "lockedAmount": "2000000000000000000000",
            "lockedTime": "31104000",
            "periodAmount": "24"
          },
          {
            "userAddress": "0x43e7eE7952E557B909e2a1122C54B24e83C663e2",
            "typeId": "3",
            "lockedAmount": "1500000000000000000000",
            "lockedTime": "15552000",
            "periodAmount": "36"
          },
          {
            "userAddress": "0xd0db65Fc3fa41001C70E8E6F31F837E3010c6F68",
            "typeId": "4",
            "lockedAmount": "2400000000000000000000",
            "lockedTime": "0",
            "periodAmount": "48"
          }
        ]
      },
      "code": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806377279db11161008c578063b5671fef11610066578063b5671fef146101d2578063b83458b0146101f2578063bb8416ec14610212578063e12f3a611461022557600080fd5b806377279db11461019657806378e97925146101a957806382e06dd5146101b257600080fd5b80630d6bf911146100d45780632bfc9467146100f15780634e71d92d146101115780635c511dda1461011b5780635e464da51461013b5780636386c1c71461015b575b600080fd5b6100de62278d0081565b6040519081526020015b60405180910390f35b6100de6100ff366004610b1e565b60026020526000908152604090205481565b61011961024d565b005b6100de610129366004610b1e565b60046020526000908152604090205481565b6100de610149366004610b1e565b60036020526000908152604090205481565b61016e610169366004610b1e565b61041f565b604080519586526020860194909452928401919091526060830152608082015260a0016100e8565b6100de6101a4366004610b1e565b61046d565b6100de60005481565b6100de6101c0366004610b1e565b60056020526000908152604090205481565b6100de6101e0366004610b1e565b60066020526000908152604090205481565b6100de610200366004610b1e565b60016020526000908152604090205481565b610119610220366004610b3f565b61057d565b610238610233366004610b1e565b610951565b604080519283526020830191909152016100e8565b60008061025933610951565b9150915060008211801561026d5750600081115b6102b75760405162461bcd60e51b815260206004820152601660248201527512185d99481b9bc81d1bdad95b881c995b19585cd95960521b60448201526064015b60405180910390fd5b3360009081526003602052604081205481546102d39190610c99565b33600090815260056020526040902054909150610316576102f78262278d00610cd1565b6103019082610c99565b3360009081526005602052604090205561034e565b6103238262278d00610cd1565b3360009081526005602052604090205461033d9190610c99565b336000908152600560205260409020555b336000908152600660205260408120805484929061036d908490610c99565b909155505060408051600080825260208201909252339085906040516103939190610c0b565b60006040518083038185875af1925050503d80600081146103d0576040519150601f19603f3d011682016040523d82523d6000602084013e6103d5565b606091505b50509050806104195760405162461bcd60e51b815260206004820152601060248201526f7472616e73666572206661696c65642160801b60448201526064016102ae565b50505050565b6001600160a01b038116600090815260016020908152604080832054600283528184205460038452828520546004909452918420549093919291610462866109a2565b905091939590929450565b6001600160a01b0381166000908152600360205260408120548154829161049391610c99565b6001600160a01b038416600090815260066020908152604080832054600490925282205492935090916104c69190610cf0565b90508015610576576001600160a01b0384166000908152600560205260409020548211610547576001600160a01b038416600090815260056020526040902054421115610542576001600160a01b03841660009081526005602052604090205462278d00906105359042610cf0565b61053f9190610cb1565b92505b61056a565b8142111561056a5762278d0061055d8342610cf0565b6105679190610cb1565b92505b80831115610576578092505b5050919050565b43156105bf5760405162461bcd60e51b81526020600482015260116024820152706e6565642067656e73697320626c6f636b60781b60448201526064016102ae565b835185511461061c5760405162461bcd60e51b8152602060048201526024808201527f747970654964206c656e677468206d75737420657175616c20757365724164646044820152637265737360e01b60648201526084016102ae565b82518551146106805760405162461bcd60e51b815260206004820152602a60248201527f6c6f636b6564416d6f756e74206c656e677468206d75737420657175616c20756044820152697365724164647265737360b01b60648201526084016102ae565b81518551146106e25760405162461bcd60e51b815260206004820152602860248201527f6c6f636b656454696d65206c656e677468206d75737420657175616c20757365604482015267724164647265737360c01b60648201526084016102ae565b80518551146107465760405162461bcd60e51b815260206004820152602a60248201527f706572696f64416d6f756e74206c656e677468206d75737420657175616c20756044820152697365724164647265737360b01b60648201526084016102ae565b60005b85518110156109455784818151811061077257634e487b7160e01b600052603260045260246000fd5b60200260200101516001600088848151811061079e57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055508381815181106107ea57634e487b7160e01b600052603260045260246000fd5b60200260200101516002600088848151811061081657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555082818151811061086257634e487b7160e01b600052603260045260246000fd5b60200260200101516003600088848151811061088e57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055508181815181106108da57634e487b7160e01b600052603260045260246000fd5b60200260200101516004600088848151811061090657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550808061093d90610d07565b915050610749565b50504260005550505050565b60008061095d8361046d565b6001600160a01b03841660009081526004602090815260408083205460029092529091205491925082916109919190610cb1565b61099b9190610cd1565b9150915091565b6001600160a01b038116600090815260036020526040812054815482916109c891610c99565b905080421115610a295762278d006109e08242610cf0565b6109ea9190610cb1565b6001600160a01b038416600090815260046020526040902054909250821115610a29576001600160a01b03831660009081526004602052604090205491505b50919050565b80356001600160a01b0381168114610a4657600080fd5b919050565b600082601f830112610a5b578081fd5b81356020610a70610a6b83610c75565b610c44565b80838252828201915082860187848660051b8901011115610a8f578586fd5b855b85811015610ab457610aa282610a2f565b84529284019290840190600101610a91565b5090979650505050505050565b600082601f830112610ad1578081fd5b81356020610ae1610a6b83610c75565b80838252828201915082860187848660051b8901011115610b00578586fd5b855b85811015610ab457813584529284019290840190600101610b02565b600060208284031215610b2f578081fd5b610b3882610a2f565b9392505050565b600080600080600060a08688031215610b56578081fd5b853567ffffffffffffffff80821115610b6d578283fd5b610b7989838a01610a4b565b96506020880135915080821115610b8e578283fd5b610b9a89838a01610ac1565b95506040880135915080821115610baf578283fd5b610bbb89838a01610ac1565b94506060880135915080821115610bd0578283fd5b610bdc89838a01610ac1565b93506080880135915080821115610bf1578283fd5b50610bfe88828901610ac1565b9150509295509295909350565b60008251815b81811015610c2b5760208186018101518583015201610c11565b81811115610c395782828501525b509190910192915050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610c6d57610c6d610d38565b604052919050565b600067ffffffffffffffff821115610c8f57610c8f610d38565b5060051b60200190565b60008219821115610cac57610cac610d22565b500190565b600082610ccc57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615610ceb57610ceb610d22565b500290565b600082821015610d0257610d02610d22565b500390565b6000600019821415610d1b57610d1b610d22565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122006401f7a1cac3d417e4670dea4b700e11f88f6fec4ae66e0b52e56383f43c6c464736f6c63430008040033"
    }
  },
  "validators": [
    {
      "address": "0x8Cc5A1a0802DB41DB826C2FcB72423744338DcB0",
      "manager": "0x352BbF453fFdcba6b126a73eD684260D7968dDc8",
      "rate": "20",
      "stake": "350",
      "acceptDelegation": true
    }
  ]
}

Customize the following config items - config.chainId Blockchain identifier - config.hapten Consensus-related parameters in chain config. - period Block interval time. - epoch Number of blocks in one epoch - attestationDelay Number of blocks in which attestation should delay - alloc Token allocation of accounts and system contracts, as well as initialization of system contracts. If you wish to compile it yourself, you can configure deployedBytecode to the code field after compilation. - validators Validator info settings. Including its address, manager address, gas sharing rate and stake the amount of native token.

See Genesis config introductions for more detail

Create genesis block

After generating the genesis.json file, execute the following command to generate the genesis block.

geth init genesis.json

Multiple node

Use the same genesis.json file for initializing the node. Then go to the node command line with the geth attach command. View the node information via admin.nodeInfo. Then add the node on other machines with addmin.addPeer.

Using docker-compose to deploy a private-chain

If you would like to use docker-compose to deploy and run a private-chain, then you can reference to https://github.com/L2Hepton/hepton-docs/tree/main/docs/docker/multi.

Last updated