Alaya
  • Languages icon中文
    • English

›节点工具

Alaya开发者文档

  • Alaya开发者文档

运行一个节点

  • 安装一个节点
  • 加入 Alaya 网络
  • 成为验证节点

节点工具

  • 在线MTool教程
  • 离线MTool教程
  • Alaya命令行工具

设置开发环境

  • 源码安装Alaya
  • 部署私有测试网

参考文档

  • EVM智能合约
  • WASM智能合约
  • DApp迁移

SDK文档

  • Java SDK
  • JS SDK
  • JSON RPC

关于Alaya

  • Alaya经济模型

社区

  • 社区项目

Alaya命令行工具

Alaya命令行参数说明

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

常用rpc命令

  • 说明
    • rpc端口根据实际的启动命令进行变更,默认为:6789

admin

  • 查看当前节点数据目录

    platon attach http://localhost:6789 -exec admin.datadir
    
  • 查看当前节点的ChainID

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.config.chainId
    
  • 查看当前节点的id

    platon attach http://localhost:6789 -exec admin.nodeInfo.id
    
  • 查看当前节点的blsPubKey

    platon attach http://localhost:6789 -exec admin.nodeInfo.blsPubKey
    
  • 查看当前节点的p2p端口号

    platon attach http://localhost:6789 -exec admin.nodeInfo.ports.listener
    
  • 查看当前节点的peers的连接信息

    platon attach http://localhost:6789 -exec admin.peers
    
  • 查看当前节点的创世区块hash

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.genesis
    
  • 查看cbft共识每个共识轮单个节点的最大出块数($amount)

    platon attach http://localhost:6789 -exec admin.nodeInfo.protocols.platon.config.cbft.amount
    
  • 查看cbft共识每个共识轮单个节点的出块的时间窗口($period,单位:ms)

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

    出块时间间隔 = period / 1000 / amount

  • 获取二进制版本号和签名信息

    platon attach http://localhost:6789 -exec 'admin.getProgramVersion()'
    
  • 获取零知识证明信息(用节点私钥去证明该接口出的证明是否正确,用于节点质押)

    platon attach http://localhost:6789 -exec 'admin.getSchnorrNIZKProve()'
    
  • 查看底层使用的虚机类型(EVM/WASM)

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

platon

  • 查看当前节点下所有的钱包地址

    platon attach http://localhost:6789 -exec platon.accounts
    
  • 查看当前节点的块高

    platon attach http://localhost:6789 -exec platon.blockNumber
    
  • 查询指定账户的余额($account为账户地址)

    platon attach http://localhost:6789 -exec 'platon.getBalance("$account")'
    
  • 查询指定块的交易数量($blockNumber为指定块的块高或区块hash)

    platon attach http://localhost:6789 -exec 'platon.getBlockTransactionCount($blockNumber)'
    
  • 查询交易信息($txHash为交易hash)

    platon attach http://localhost:6789 -exec 'platon.getTransaction("$txHash")'
    
  • 查询交易回执($txHash为交易hash)

    platon attach http://localhost:6789 -exec 'platon.getTransactionReceipt("$txHash")'
    
  • 查询指定账户的交易数(参数$address为账户地址,用于发交易时指定交易的nonce)

    platon attach http://localhost:6789 -exec 'platon.getTransactionCount("$address")'
    
  • 查询当前节点正在pending的交易

    platon attach http://localhost:6789 -exec platon.pendingTransactions
    
  • 查看当前节点默认的gasPrice(单位:von)

    platon attach http://localhost:6789 -exec platon.gasPrice
    
  • 预估交易的gas(参数$transaction为交易详情,单位:von)

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

    如:

    platon attach http://localhost:6789 -exec 'platon.estimateGas({from:"lax1fyeszufxwxk62p46djncj86rd553skpptsj8v6",to:"lax1zhllhqu72wz66cdwly8983xhla2sann75j2ec2",value:"0x10000000000000",data:"0x11",gas:"0x88888",gasprice:"0x333333",nonce:"11"})'
    
  • 查看当前节点底层版本的p2p协议号

    platon attach http://localhost:6789 -exec 'web3.toDecimal(platon.protocolVersion)'
    
  • 查看当前节点是否在同步

    platon attach http://localhost:6789 -exec platon.syncing
    
  • 获取指定区块详情

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

personal

  • 生成钱包(参数为钱包密码)

    platon attach http://localhost:6789 -exec 'personal.newAccount("88888888")'
    
  • 导入私钥,生成钱包

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

    参数:

    • privateKey:私钥,去除开头的0x
    • password:钱包密码

    返回:

    • 钱包地址

    例子:

    platon attach http://localhost:6789 -exec 'personal.importRawKey("842d943dbb50a8d3fe63af2f82fda3d8f0ca817fe8d47e61698142bac7c24212","88888888")'
    
  • 查看账户地址

    platon attach http://localhost:6789 -exec 'personal.listAccounts'
    
  • 查看本地钱包信息,包括钱包地址,钱包文件路径,钱包状态

    platon attach http://localhost:6789 -exec 'personal.listWallets'
    
  • 锁账户

    platon attach http://localhost:6789 -exec 'personal.lockAccount(platon.accounts[0])'
    
  • 解锁账户

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

    参数:

    • 账户地址
    • 钱包密码
    • 解锁时间,单位:秒
    • 发送未签名的交易
    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

  • 查看当前节点的networkid

    platon attach http://localhost:6789 -exec net.version
    
  • 查看当前节点的p2p端口是否处于监听状态

    platon attach http://localhost:6789 -exec net.listening
    
  • 查看当前节点的peers连接数

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

debug

  • 查询当前节点经济模型配置参数

    platon attach http://localhost:6789 -exec 'debug.economicConfig()'
    
  • 设置日志级别

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

    日志级别说明:

    0:CRIT

    1:ERROR

    2:WARN

    3:INFO

    4:DEBUG

    5:TRACE

alayakey工具使用说明


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

常用命令

  1. 生成钱包
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

可以通过以下命令生成一个新的钱包

alayakey generate

也可以使用以下命令将一个privatekey明文加密生成一个钱包文件

alayakey generate --privatekey ./prikey --json
  1. 生成公私钥对

生成节点公私钥:

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

生成节点BLS公私钥

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
  1. 将任意EIP55/bech32地址转换为alaya地址
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...]

以下命令将EIP55地址转换为alaya地址

alayakey updateaddress 0x1000000000000000000000000000000000000001

此命令支持将任意bech32地址转换为alaya地址,如:

alayakey updateaddress lax19phpafljm0mgu2fj8mrwyarftpafynxvj0d7lh
originAddress:  lax19phpafljm0mgu2fj8mrwyarftpafynxvj0d7lh
main net Address: atp19phpafljm0mgu2fj8mrwyarftpafynxvyuffwh
other net Address: atx19phpafljm0mgu2fj8mrwyarftpafynxvw64raa
← 离线MTool教程源码安装Alaya →
  • Alaya命令行参数说明
  • 常用rpc命令
    • admin
    • platon
    • personal
    • net
    • debug
  • alayakey工具使用说明
    • 常用命令
Alaya
Alaya networkLatticeX.FoundationForum
Star
COPYRIGHT © 2021 Alaya NETWORK.