Implementation of Plasma EVM. You can check smart contracts here. For more information, see documentations.
- Make enter / exit requests
- Submit NRBs / ORBs
- Finalize block and requests
- Challenge on Null Address Transaction in NRBs
- Continuous Rebase
- Integration Computation Challenge using solevm.
For the simple start of both clients(ethereum, plasma-evm), you can run run.rootchain.sh in Onther-Tech/go-ethereum and run.pls.sh in Onther-Tech/plasma-evm (this is recommended way to setup develop and test environment).
Faraday testnet is running based on Rinkeby network as root chain.
See Onther-Tech/plasma-evm-networks
$ make gethBefore running plasma-evm client, you MUST run another geth client as root chain client.
$ git clone https://github.com/Onther-Tech/go-ethereum.git root-chain-geth && cd root-chain-geth
$ bash run.rootchain.shThen you can run or test plasma-evm client.
$ git clone https://github.com/Onther-Tech/plasma-evm.git && cd plasma-evm
$ bash run.pls.shSome original go-ethereum tests may fail.
To test plasam-evm related features,
$ go test github.com/Onther-Tech/plasma-evm/pls
$ go test github.com/Onther-Tech/plasma-evm/txbuild/bin/geth help returns available flags. Belows are plasma-evm-specific flags.
PLASMA EVM - DEVELOPMENT MODE OPTIONS:
  --dev                               Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled
  --dev.period value                  Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)
  --dev.key value                     Comma seperated developer account key as hex(for dev)
PLASMA EVM - OPERATOR OPTIONS:
  --operator value                    Plasma operator address as hex.
  --operator.key value                Plasma operator key as hex(for dev)
  --operator.password value           Operator password file to use for non-interactive password input
  --operator.minether value           Plasma operator minimum balance (default = 0.5 ether) (default: "0.5")
  --miner.recommit value              Time interval to recreate the block being mined (default: 3s)
PLASMA EVM - ROOTCHAIN TRANSACTION MANAGER OPTIONS:
  --tx.gasprice value                 Gas price for transaction (default = 10 Gwei) (default: 0)
  --tx.mingasprice value              Minimum gas price for submitting a block (default = 1 Gwei) (default: 1000000000)
  --tx.maxgasprice value              Maximum gas price for submitting a block (default = 100 Gwei) (default: 100000000000)
  --tx.interval value                 Pending interval time after submitting a block (default = 10s). If block submit transaction is not mined in 2 intervals, gas price will be adjusted. See https://golang.org/pkg/time/#ParseDuration (default: 10s)
PLASMA EVM - STAMINA OPTIONS:
  --stamina.operatoramount value      Operator stamina amount at genesis block in ETH (default: 1)
  --stamina.mindeposit value          Minimum deposit amount in ETH (default: 0.5)
  --stamina.recoverepochlength value  The length of recovery epoch in block (default: 120960)
  --stamina.withdrawaldelay value     Withdrawal delay in block (default: 362880)
PLASMA EVM - CHALLENGER OPTIONS:
  --rootchain.challenger value        Address of challenger account
  --challenger.password value         Challenger password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
  --rootchain.contract value          Address of the RootChain contract
  --rootchain.deploygasprice value    Transaction gas price to deploy rootchain in GWei (default: 10000000000). This flag applies only to deploy command.
PLASMA EVM - STAKING OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.registry value          Address of RootChainRegistry contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.seigmanager value       Address of SeigManager contract
  --rootchain.powerton value          Address of PowerTON contract
  
PLASMA EVM - CHILDCHAIN OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.
  --childchain.sender value           Sender address of child chain transaction
  --childchain.gasprice value         Gas price for child chain transaction in GWei (default: 0)For more information, run below command (and sub-command) with --help flag.
$ geth account import-key <privateKey>    # Import a private key from hex key into a new account
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
  --keystore value                    Directory for the keystore (default = inside the datadir)
  --lightkdf                          Reduce key-derivation RAM & CPU usage at some expense of KDF strength
ACCOUNT OPTIONS:
  --password value                    Password file to use for non-interactive password input$ geth account import-hdwallet <mnemonic> <path>    # Import a mnemonic into a new account
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
  --keystore value                    Directory for the keystore (default = inside the datadir)
  --lightkdf                          Reduce key-derivation RAM & CPU usage at some expense of KDF strength
ACCOUNT OPTIONS:
  --password value                    Password file to use for non-interactive password input$ geth deploy <genesisPath> <chainId> <withPETH> <NRELength>    # Deploy RootChain contract and make genesis file
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - DEVELOPMENT MODE OPTIONS:
  --dev.key value                     Comma seperated developer account key as hex(for dev)
PLASMA EVM - STAMINA OPTIONS:
  --stamina.operatoramount value      Operator stamina amount at genesis block in ETH (default: 1)
  --stamina.mindeposit value          Minimum deposit amount in ETH (default: 0.5)
  --stamina.recoverepochlength value  The length of recovery epoch in block (default: 120960)
  --stamina.withdrawaldelay value     Withdrawal delay in block (default: 362880)
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
  --rootchain.deploygasprice value    Transaction gas price to deploy rootchain in GWei (default: 10000000000). This flag applies only to deploy command.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)$ geth stamina get-delegatee <address>    # Get delegatee of account
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.$ geth stamina get-stamina <address>    # Get stamina of account
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.$ geth stamina get-totaldeposit <address>    # Get total deposit of account
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.$ geth stamina get-deposit <depositor> <delegatee>    # Get deposit of account from the depositor
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.$ geth stamina get-lastrecoveryblock <delegatee>    # Get last recovery block of the delegatee
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.$ geth stamina get-withdrawal <depositor>    # Get withdrawal requests
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.$ geth stamina set-delegator <delegator>    # Set delegator
ETHEREUM OPTIONS:
--datadir value                       Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.
  --childchain.sender value           Sender address of child chain transaction
  --childchain.gasprice value         Gas price for child chain transaction in GWei (default: 0)$ geth stamina deposit <delegatee> <value>    # Deposit PETH to gain stamina
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.
  --childchain.sender value           Sender address of child chain transaction
  --childchain.gasprice value         Gas price for child chain transaction in GWei (default: 0)$ geth stamina request-withdrawal <delegatee> <value>    # Request withdraw
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.
  --childchain.sender value           Sender address of child chain transaction
  --childchain.gasprice value         Gas price for child chain transaction in GWei (default: 0)$ geth stamina withdraw    # Process withdraw
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - CHILDCHAIN OPTIONS OPTIONS:
  --childchain.url value              JSONRPC endpoint of child chain provider.
  --childchain.sender value           Sender address of child chain transaction
  --childchain.gasprice value         Gas price for child chain transaction in GWei (default: 0)                              $ geth manage-staking deploy-managers <withdrawalDelay> <seigPerBlock>    # Deploy staking manager contracts (except PowerTON)
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - DEVELOPMENT MODE OPTIONS:
  --dev.key value                     Comma separated developer account key as hex(for dev)
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth manage-staking deploy-powerton <roundDuration>    # Deploy PowerTON contract
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)
  --rootchain.wton value              Address of WTON token contract
  --rootchain.seigmanager value       Address of SeigManager contract$ geth manage-staking start-powerton    # Start PowerTON first round
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - DEVELOPMENT MODE OPTIONS:
  --dev.key value                     Comma seperated developer account key as hex(for dev)
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.powerton value          Address of PowerTON contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth manage-staking register    # Register RootChain contract
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - DEVELOPMENT MODE OPTIONS:
  --dev.key value                     Comma seperated developer account key as hex(for dev)
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth manage-staking set-commission-rate <rate> <isCommissionRateNegative>    # Set commission rate
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - DEVELOPMENT MODE OPTIONS:
  --dev.key value                     Comma seperated developer account key as hex(for dev)
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth manage-staking get-managers <path>    # Get staking managers addresses in database
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")$ geth manage-staking set-managers <uri>    # Set staking managers addresses in database
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.registry value          Address of RootChainRegistry contract
  --rootchain.seigmanager value       Address of SeigManager contract
  --rootchain.powerton value          Address of PowerTON contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth manage-staking mint-ton <to> <amount>    # Mint TON to account (for dev)
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth staking balances <address>    # Print balances of token and stake
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.seigmanager value       Address of SeigManager contract$ geth staking swap-from-ton <tonAmount>    # Swap TON to WTON
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.seigmanager value       Address of SeigManager contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth staking swap-to-ton <wtonAmount>    # Swap WTON to TON
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.seigmanager value       Address of SeigManager contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth staking stake-ton <amount>    # Stake TON
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.seigmanager value       Address of SeigManager contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth staking stake-wton <amount>    # Stake WTON
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.seigmanager value       Address of SeigManager contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth staking restake <amount>    # Restake pending withdrawal request
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.ton value               Address of TON token contract
  --rootchain.wton value              Address of WTON token contract
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.seigmanager value       Address of SeigManager contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth staking request-withdrawal <amount>    # Make a withdrawal request
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)$ geth staking process-withdrawal <numRequests>    # Process pending withdrawals
ETHEREUM OPTIONS:
  --datadir value                     Data directory for the databases and keystore (default: "/Users/thomashin/Library/Ethereum")
ACCOUNT OPTIONS:
  --unlock value                      Comma separated list of accounts to unlock
  --password value                    Password file to use for non-interactive password input
PLASMA EVM - ROOTCHAIN CONTRACT OPTIONS:
  --rootchain.url value               JSONRPC endpoint of rootchain provider. If URL is empty, ignore the provider.
PLASMA EVM - STAKING OPTIONS OPTIONS:
  --rootchain.sender value            Address of root chain transaction sender account. it MUST be unlocked by --unlock, --password flags (CAVEAT: To set plasma operator, use --operator flag)
  --rootchain.depositmanager value    Address of Deposit Manager contract
  --rootchain.gasprice value          Transaction gas price to root chain in GWei (default: 10000000000)