Alaya
  • Languages iconEnglish
    • 中文

›Node Tools

Alaya Developer Docs

  • Alaya Developer Docs

Run a Node

  • Install and Deploy a Node
  • Join the Alaya network
  • Upgrade to Validator Node

Node Tools

  • OnLine MTool Tutorials
  • OffLine MTool Manual
  • Alaya Command line tools

Environment Setup

  • Source Installation Alaya
  • Deploy Your Own Private Testnet

Reference Docs

  • EVM Smart Contract
  • WASM Smart Contract
  • DApp Migrate

SDK Docs

  • Java SDK
  • JS SDK
  • JSON RPC

Abount Alaya

  • Alaya Overall Solution
  • Alaya Consensus Solution
  • Alaya Economic Plan
  • The Alaya Economic Model
  • Alaya Governance Solution
  • Secure Multi Party Computation
  • Verifiable Computation

Community Projects

  • Community Projects

Alaya Command Line Tools

Introducing the program Alaya instructions

NAME:
   platon.exe - the platon-go command line interface

   Copyright 2019 The PlatON-Go Authors

USAGE:
   platon.exe [options] command [command options] [arguments...]

VERSION:
   0.14.0-unstable

COMMANDS:
   account           Manage accounts
   attach            Start an interactive JavaScript environment (connect to node)
   bug               opens a window to report a bug on the platon repo
   console           Start an interactive JavaScript environment
   copydb            Create a local chain from a target chaindata folder
   dump              Dump a specific block from storage
   dumpconfig        Show configuration values
   export-preimages  Export the preimage database into an RLP stream
   import-preimages  Import the preimage database from an RLP stream
   init              Bootstrap and initialize a new genesis block
   js                Execute the specified JavaScript files
   license           Display license information
   removedb          Remove blockchain and state databases
   version           Print version numbers
   help, h           Shows a list of commands or help for one command

PLATON OPTIONS:
  --config value                                        TOML configuration file
  --datadir "C:\Users\jungle\AppData\Roaming\PlatON"  Data directory for the databases and keystore
  --keystore                                            Directory for the keystore (default = inside the datadir)
  --nousb                                               Disables monitoring for and managing USB hardware wallets
  --networkid value                                     Network identifier (integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby) (default: 1)
  --main                                                Mainnet network: pre-configured main network (default network)
  --testnet                                             Testnet network: pre-configured test network
  --alaya                                               alaya network: pre-configured alaya network
  --alayatestnet                                        alaya test network: pre-configured alaya test network
  --syncmode "full"                                     Blockchain sync mode ("fast", "full", or "light")
  --identity value                                      Custom node name
  --lightserv value                                     Maximum percentage of time allowed for serving LES requests (0-90) (default: 0)
  --lightpeers value                                    Maximum number of LES client peers (default: 100)
  --lightkdf                                            Reduce key-derivation RAM & CPU usage at some expense of KDF strength

DEVELOPER CHAIN OPTIONS:
  --dev.period value  Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)

TRANSACTION POOL OPTIONS:
  --txpool.locals value         Comma separated accounts to treat as locals (no flush, priority inclusion)
  --txpool.nolocals             Disables price exemptions for locally submitted transactions
  --txpool.journal value        Disk journal for local transaction to survive node restarts (default: "transactions.rlp")
  --txpool.rejournal value      Time interval to regenerate the local transaction journal (default: 1h0m0s)
  --txpool.pricelimit value     Minimum gas price limit to enforce for acceptance into the pool (default: 1)
  --txpool.pricebump value      Price bump percentage to replace an already existing transaction (default: 10)
  --txpool.accountslots value   Minimum number of executable transaction slots guaranteed per account (default: 16)
  --txpool.globalslots value    Maximum number of executable transaction slots for all accounts (default: 16384)
  --txpool.accountqueue value   Maximum number of non-executable transaction slots permitted per account (default: 64)
  --txpool.globalqueue value    Maximum number of non-executable transaction slots for all accounts (default: 4096)
  --txpool.globaltxcount value  Maximum number of transactions for package (default: 3000)
  --txpool.lifetime value       Maximum amount of time non-executable transaction are queued (default: 3h0m0s)
  --txpool.cacheSize value      After receiving the specified number of transactions from the remote, move the transactions in the queen to pending (default: 0)

PERFORMANCE TUNING OPTIONS:
  --cache value           Megabytes of memory allocated to internal caching (default: 1024)
  --cache.database value  Percentage of cache memory allowance to use for database io (default: 75)
  --cache.gc value        Percentage of cache memory allowance to use for trie pruning (default: 25)
  --cache.triedb value    Megabytes of memory allocated to triedb internal caching (default: 512)

ACCOUNT OPTIONS:
  --unlock value    Comma separated list of accounts to unlock
  --password value  Password file to use for non-interactive password input

API AND CONSOLE OPTIONS:
  --rpc                  Enable the HTTP-RPC server
  --rpcaddr value        HTTP-RPC server listening interface (default: "localhost")
  --rpcport value        HTTP-RPC server listening port (default: 6789)
  --rpcapi value         API's offered over the HTTP-RPC interface
  --ws                   Enable the WS-RPC server
  --wsaddr value         WS-RPC server listening interface (default: "localhost")
  --wsport value         WS-RPC server listening port (default: 6790)
  --wsapi value          API's offered over the WS-RPC interface
  --wsorigins value      Origins from which to accept websockets requests
  --ipcdisable           Disable the IPC-RPC server
  --ipcpath              Filename for IPC socket/pipe within the datadir (explicit paths escape it)
  --rpccorsdomain value  Comma separated list of domains from which to accept cross origin requests (browser enforced)
  --rpcvhosts value      Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard. (default: "localhost")
  --jspath loadScript    JavaScript root path for loadScript (default: ".")
  --exec value           Execute JavaScript statement
  --preload value        Comma separated list of JavaScript files to preload into the console

NETWORKING OPTIONS:
  --bootnodes value          Comma separated enode URLs for P2P discovery bootstrap (set v4+v5 instead for light servers)
  --bootnodesv4 value        Comma separated enode URLs for P2P v4 discovery bootstrap (light server, full nodes)
  --port value               Network listening port (default: 16789)
  --maxpeers value           Maximum number of network peers (network disabled if set to 0) (default: 50)
  --maxconsensuspeers value  Maximum number of network consensus peers (network disabled if set to 0) (default: 75)
  --maxpendpeers value       Maximum number of pending connection attempts (defaults used if set to 0) (default: 0)
  --nat value                NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>) (default: "any")
  --nodiscover               Disables the peer discovery mechanism (manual peer addition)
  --netrestrict value        Restricts network communication to the given IP networks (CIDR masks)
  --nodekey value            P2P node key file
  --nodekeyhex value         P2P node key as hex (for testing)

MINER OPTIONS:
  --miner.gasprice "1000000000"  Minimum gas price for mining a transaction
  --miner.gastarget value        Target gas floor for mined blocks (default: 4712388)

GAS PRICE ORACLE OPTIONS:
  --gpoblocks value      Number of recent blocks to check for gas prices (default: 20)
  --gpopercentile value  Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 60)

LOGGING AND DEBUGGING OPTIONS:
  --nocompaction            Disables db compaction after import
  --verbosity value         Logging verbosity: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)
  --vmodule value           Per-module verbosity: comma-separated list of <pattern>=<level> (e.g. eth/*=5,p2p=4)
  --backtrace value         Request a stack trace at a specific logging statement (e.g. "block.go:271")
  --debug                   Prepends log messages with call-site location (file and line number)
  --pprof                   Enable the pprof HTTP server
  --pprofaddr value         pprof HTTP server listening interface (default: "127.0.0.1")
  --pprofport value         pprof HTTP server listening port (default: 6060)
  --memprofilerate value    Turn on memory profiling with the given rate (default: 524288)
  --blockprofilerate value  Turn on block profiling with the given rate (default: 0)
  --cpuprofile value        Write CPU profile to the given file
  --trace value             Write execution trace to the given file
  --wasmlog value           output wasm contract log to file

METRICS AND STATS OPTIONS:
  --metrics                          Enable metrics collection and reporting
  --metrics.influxdb                 Enable metrics export/push to an external InfluxDB database
  --metrics.influxdb.endpoint value  InfluxDB API endpoint to report metrics to (default: "http://localhost:8086")
  --metrics.influxdb.database value  InfluxDB database name to push reported metrics to (default: "platon")
  --metrics.influxdb.username value  Username to authorize access to the database (default: "test")
  --metrics.influxdb.password value  Password to authorize access to the database (default: "test")
  --metrics.influxdb.host.tag host   InfluxDB host tag attached to all measurements (default: "localhost")

DEPRECATED OPTIONS:
  --targetgaslimit value   Target gas floor for mined blocks (deprecated, use --miner.gastarget) (default: 4712388)
  --gasprice "1000000000"  Minimum gas price for mining a transaction (deprecated, use --miner.gasprice)

CBFT OPTIONS:
  --cbft.msg_queue_size value      Message queue size (default: 1024)
  --cbft.wal.disabled              Disable the Wal server
  --cbft.max_ping_latency value    Maximum latency of ping (default: 2000)
  --cbft.blskey value              BLS key file
  --cbft.blacklist_deadline value  Blacklist effective time. uint:minute (default: "60")

DB OPTIONS:
  --db.nogc               Disables database garbage collection
  --db.gc_interval value  Block interval for garbage collection (default: 86400)
  --db.gc_timeout value   Maximum time for database garbage collection (default: 1m0s)
  --db.gc_mpt             Enables database garbage collection MPT
  --db.gc_block value     Number of cache block states, default 10 (default: 10)

VM OPTIONS:
  --vm.wasm_type value         The actual implementation type of the wasm instance (default: "wagon")
  --vm.timeout_duration value  The VM execution timeout duration (uint: ms) (default: 0)

MISC OPTIONS:
  --help, -h  show help


COPYRIGHT:
   Copyright 2019 The PlatON-Go Authors

Common rpc commands

  • Description
    • The rpc port is changed according to the actual startup command and the default is 6789

admin

  • View the data directory of the current node

    platon attach http://localhost:6789 -exec admin.datadir
    
  • View the ChainID of the current node

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.config.chainId
    
  • View the id of the current node

    platon attach http://localhost:6789 -exec admin.nodeInfo.id
    
  • View the blsPubKey of the current node

    platon attach http://localhost:6789 -exec admin.nodeInfo.blsPubKey
    
  • View the p2p port number of the current node

    platon attach http://localhost:6789 -exec admin.nodeInfo.ports.listener
    
  • View the connection information of peers of the current node

    platon attach http://localhost:6789 -exec admin.peers
    
  • View the genesis block hash of the current node

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.genesis
    
  • View the maximum number of blocks ($amount) of a single node in each consensus round of cbft consensus

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.config.cbft.amount
    
  • View the time window of block generation by a single node in each consensus round of cbft consensus ($period, unit: ms)

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.config.cbft.period
    

    Blocking time interval = period / 1000 / amount

  • Get the binary version number and signature information

    platon attach http://localhost:6789 -exec 'admin.getProgramVersion()'
    
  • Obtain zero- knowledge proof information (use the node's private key to prove whether the certificate issued by the interface is correct and used for node pledge)

    platon attach http://localhost:6789 -exec 'admin.getSchnorrNIZKProve()'
    
  • View the type of virtual machine used at the bottom (EVM / WASM)

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.config.interpreter
    

platon

  • View all wallet addresses under the current node

    platon attach http://localhost:6789 -exec platon.accounts
    
  • View the block height of the current node

    platon attach http://localhost:6789 -exec platon.blockNumber
    
  • Check the balance of the specified account ($account is the account address)

    platon attach http://localhost:6789 -exec 'platon.getBalance("$account")'
    
  • Query the number of transactions in the specified block ($blockNumber is the block height or block hash of the specified block)

    platon attach http://localhost:6789 -exec 'platon.getBlockTransactionCount($blockNumber)'
    
  • Query transaction information ($txHash is transaction hash)

    platon attach http://localhost:6789 -exec 'platon.getTransaction("$txHash")'
    
  • Query transaction receipt ($txHash is transaction hash)

    platon attach http://localhost:6789 -exec 'platon.getTransactionReceipt("$txHash")'
    
  • Query the number of transactions in the specified account (parameter $address is the account address, used to specify the nonce of the transaction when sending the transaction)

    platon attach http://localhost:6789 -exec 'platon.getTransactionCount("$address")'
    
  • Query the pending transaction of the current node

    platon attach http://localhost:6789 -exec platon.pendingTransactions
    
  • View the default gasPrice of the current node (unit: von)

    platon attach http://localhost:6789 -exec platon.gasPrice
    
  • Estimate the gas of the transaction (parameter $transaction is the transaction details, unit: von)

    platon attach http://localhost:6789 -exec 'platon.estimateGas($transaction)'
    

    For example:

    platon attach http://localhost:6789 -exec 'platon.estimateGas({from:"lax1fyeszufxwxk62p46djncj86rd553skpptsj8v6",to:"lax1zhllhqu72wz66cdwly8983xhla2sann75j2ec2",value:"0x10000000000000",data:"0x11",gas:"0x88888",gasprice:"0x333333",nonce:"11"})'
    
  • View the p2p protocol number of the underlying version of the current node

    platon attach http://localhost:6789 -exec 'web3.toDecimal(platon.protocolVersion)'
    
  • See if the current node is in sync

    platon attach http://localhost:6789 -exec platon.syncing
    
  • Get details of specified block

    platon attach http://localhost:6789 -exec 'platon.getBlock($blockNumber)'
    

personal

  • Generate wallet (parameter is wallet password)

    platon attach http://localhost:6789 -exec 'personal.newAccount("88888888")'
    
  • Import private key to generate wallet

    platon attach http://localhost:6789 -exec 'personal.importRawKey($privateKey, $password)'
    

    Parameters:

    • privateKey: private key, remove the leading 0x
    • password: wallet password

    Back to:

    • Wallet address

    For example:

    platon attach http://localhost:6789 -exec 'personal.importRawKey ("842d943dbb50a8d3fe63af2f82fda3d8f0ca817fe8d47e61698142bac7c24212", "88888888")'
    
  • View account address

    platon attach http://localhost:6789 -exec 'personal.listAccounts'
    
  • View local wallet information, including wallet address, wallet file path and wallet status

    platon attach http://localhost:6789 -exec 'personal.listWallets'
    
  • Lock account

    platon attach http://localhost:6789 -exec 'personal.lockAccount(platon.accounts[0])'
    
  • Unlock account

    platon attach http://localhost:6789 -exec 'personal.unlockAccount(platon.accounts[0], "88888888", 24*3600)'
    

    Parameters:

    • Account address
    • Wallet password
    • Unlock time in seconds
  • Send unsigned transactions

    platon attach http://localhost:6789 -exec 'personal.sendTransaction({from: platon.accounts[2], to: platon.accounts[0], value:web3.toVon("0.1","lat"), nonce: platon.getTransactionCount(platon.accounts[2])}, "88888888") '
    

net

  • View the networkid of the current node

    platon attach http://localhost:6789 -exec net.version
    
  • Check whether the p2p port of the current node is in the listening state

    platon attach http://localhost:6789 -exec net.listening
    
  • View the number of peer connections of the current node

    platon attach http://localhost:6789 -exec net.peerCount
    

debug

  • Query the economic model configuration parameters of the current node

    platon attach http://localhost:6789 -exec 'debug.economicConfig()'
    
  • Set log level

    platon attach http://localhost:6789 -exec 'debug.verbosity(4)'
    

    Log level description:

    0: CRIT

    1: ERROR

    2: WARN

    3: INFO

    4: DEBUG

    5: TRACE

alayakey tool instructiona

alayakey [global options] command [command options] [arguments...]

VERSION:
   0.14.0-unstable-16aced7d

COMMANDS:
   generate generate new keyfile
   inspect inspect a keyfile
   changepassphrase change the passphrase on a keyfile
   signmessage sign a message
   verifymessage verify the signature of a signed message
   genkeypair generate new private key pair
   genblskeypair generate new bls private key pair
   updateaddress update hex/bech32 address to mainnet/testnet bech32 address
   help Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h show help
   --version, -v print the version

Common commands

  • Generate wallet
NAME:
   alayakey generate - generate new keyfile

USAGE:
   alayakey generate [command options] [<keyfile>]

DESCRIPTION:

Generate a new keyfile.

If you want to encrypt an existing private key, it can be specified by setting
--privatekey with the location of the file containing the private key.


OPTIONS:
   --passwordfile value the file that contains the passphrase for the keyfile
   --json output JSON instead of human-readable format
   --privatekey value file containing a raw private key to encrypt
  • A new wallet can be generated by the following command
alayakey generate
  • You can also use the following command to encrypt a privatekey in plaintext to generate a wallet file
alayakey generate --privatekey ./prikey --json
  • Generate a public and private key pair
NAME:
   alayakey genkeypair - generate new private key pair

USAGE:
   alayakey genkeypair [command options] [ ]

DESCRIPTION:
   
Generate a new private key pair.


OPTIONS:
   --json  output JSON instead of human-readable format
  • Generate node BLS public and private key
NAME:
   alayakey genblskeypair-generate new bls private key pair

USAGE:
   alayakey genblskeypair [command options] []

DESCRIPTION:

Generate a new bls private key pair.


OPTIONS:
   --json output JSON instead of human-readable format
  • Convert any EIP55/bech32 address to alaya address
NAME:
   alayakey updateaddress-update hex/bech32 address to mainnet/testnet bech32 address

USAGE:
   alayakey updateaddress [command options] [<address> <address>...]

DESCRIPTION:

update hex/bech32 address to mainnet/testnet bech32 address.


OPTIONS:
   --json output JSON instead of human-readable format
   --hexAddressFile value file bech32/hex accounts want to update to mainnet/testnet bech32 address,file like [hex,hex...]
  • The following command converts EIP55 address to alaya address
alayakey updateaddress 0x1000000000000000000000000000000000000001
  • This command supports converting any bech32 address to alaya address, such as:
alayakey updateaddress lax19phpafljm0mgu2fj8mrwyarftpafynxvj0d7lh
originAddress: lax19phpafljm0mgu2fj8mrwyarftpafynxvj0d7lh
main net Address: atp19phpafljm0mgu2fj8mrwyarftpafynxvyuffwh
other net Address: atx19phpafljm0mgu2fj8mrwyarftpafynxvw64raa
← OffLine MTool ManualSource Installation Alaya →
  • Introducing the program Alaya instructions
  • Common rpc commands
    • admin
    • platon
    • personal
    • net
    • debug
  • alayakey tool instructiona
    • Common commands
Alaya
Alaya networkLatticeX.FoundationForum
Star
COPYRIGHT © 2021 Alaya NETWORK.