DREP Command Line Interface, a JSON-RPC based client for connecting to the DREP chain to query information on the chain
and send transactions.
Provides a decentralized ID system and data privacy protection Integrates the underlying chain with both smart contracts and novel smart reputation pipes. Provides the DREP reputation protocols and reputation templates. Has high performance and high compatibilities. Binaries (Windows/Linux/macOS) Executable binaries can be downloaded from our GitHub page
Build from source code (all platforms) Clone the repository into the appropriate $GOPATH/src/github.com/drep-project directory.
NOTE: requires Go >= 1.1.11.
git clone https://github.com/drep-project/drepcli.git
cd drepcli
go install
To start the DREP Cli
drepcli http://127.0.0.1:15645
After the DREP Cli is started, it will connect to the DREP chain.
Meanwhile, you can input commands into the interface and perform operations to the chain.
[{
Data: {
TxCount: 1,
TxList: [{
Data: {...},
Sig: null
}]
},
Header: {
ChainId: "33333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330",
GasLimit: "RWORgkT0AAA=",
GasUsed: "",
Height: 10,
LeaderPubKey: "0x0258fc6797a561c701ca2c1336b4ea641745bd427319c50e82fa044c8a85b18616",
MerkleRoot: "miMn/oiEs+F7TYCzjRmm7Yj9SvqRK1UxdW8pNJnyXYU=",
MinorPubKeys: ["0x0242901062c10d36702cdf75330f74a597ef8058245027a5d2d993418c089fd704", "0x027d6958df8109037eab3fb5f2ca2b03ddf5f1952eed1348f8019c29437770b150"],
PreviousHash: "e94imdsJSiPBxu3GqRJJ0DsJwOjzLePIx99aEcnMUqQ=",
StateRoot: "kovoW3vQnm4jgiwOeMxNzwlAwzpEdvraCpdrLqiKUDI=",
Timestamp: 1547280876,
TxHashes: ["miMn/oiEs+F7TYCzjRmm7Yj9SvqRK1UxdW8pNJnyXYU="],
Version: 1
},
MultiSig: {
Bitmap: "AQE=",
Sig: {
R: 3.7142117789744075e+76,
S: 9.782885030459428e+75
}
}
}...]
Method getBalance Parameters 1: Address 2: Chain id Description Get the account's balance with respect to the address Returns Number Example db.getBalance("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b",0) Example Return 0
Method getBlock Parameters Block height Description Get the corresponding block Returns Object Example db.getBlock(10)
{
Data: { TxCount: 1, TxList: [{ Data: {... },
Sig: null }] }, Header: { ChainId: "33333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330", GasLimit: "RWORgkT0AAA=", GasUsed: "", Height: 10, LeaderPubKey: "0x0258fc6797a561c701ca2c1336b4ea641745bd427319c50e82fa044c8a85b18616", MerkleRoot: "miMn/oiEs+F7TYCzjRmm7Yj9SvqRK1UxdW8pNJnyXYU=", MinorPubKeys: ["0x0242901062c10d36702cdf75330f74a597ef8058245027a5d2d993418c089fd704", "0x027d6958df8109037eab3fb5f2ca2b03ddf5f1952eed1348f8019c29437770b150"], PreviousHash: "e94imdsJSiPBxu3GqRJJ0DsJwOjzLePIx99aEcnMUqQ=", StateRoot: "kovoW3vQnm4jgiwOeMxNzwlAwzpEdvraCpdrLqiKUDI=", Timestamp: 1547280876, TxHashes: ["miMn/oiEs+F7TYCzjRmm7Yj9SvqRK1UxdW8pNJnyXYU="], Version: 1 }, MultiSig: { Bitmap: "AQE=", Sig: { R: 3.7142117789744075e+76, S: 9.782885030459428e+75 } } } Method getBlocksFrom Parameters 1:The height of the first block to get 2:The number of the blocks to get Description Get the blocks between two heights Returns Array Example db.getBlocksFrom(10,2)
[{
Data: { TxCount: 1, TxList: [{... }]
}, Header: { ChainId: "33333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330", GasLimit: "RWORgkT0AAA=", GasUsed: "", Height: 10, LeaderPubKey: "0x0258fc6797a561c701ca2c1336b4ea641745bd427319c50e82fa044c8a85b18616", MerkleRoot: "miMn/oiEs+F7TYCzjRmm7Yj9SvqRK1UxdW8pNJnyXYU=", MinorPubKeys: ["0x0242901062c10d36702cdf75330f74a597ef8058245027a5d2d993418c089fd704", "0x027d6958df8109037eab3fb5f2ca2b03ddf5f1952eed1348f8019c29437770b150"], PreviousHash: "e94imdsJSiPBxu3GqRJJ0DsJwOjzLePIx99aEcnMUqQ=", StateRoot: "kovoW3vQnm4jgiwOeMxNzwlAwzpEdvraCpdrLqiKUDI=", Timestamp: 1547280876, TxHashes: ["miMn/oiEs+F7TYCzjRmm7Yj9SvqRK1UxdW8pNJnyXYU="], Version: 1 }, MultiSig: { Bitmap: "AQE=", Sig: { R: 3.7142117789744075e+76, S: 9.782885030459428e+75 } } }, ...] Method getByteCode Parameters 1:Address 2:Chain id Description get bytecode of a stored smart contract by its address and chainID Returns Array Example chain.check("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b","0x00")
Method getCodeHash Parameters 1:Address 2:Chain id Description get the bytecode hash value of a smart contract by its address and chainID Returns Array Example chain.check("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b","0x00")
Method getHighestBlock Parameters None Description Get latest block Returns Object Example db.getHighestBlock()
{
Data: { TxCount: 1, TxList: [{ Data: {... },
Sig: null }] }, Header: { ChainId: "33333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330", GasLimit: "RWORgkT0AAA=", GasUsed: "", Height: 1018, LeaderPubKey: "0x0258fc6797a561c701ca2c1336b4ea641745bd427319c50e82fa044c8a85b18616", MerkleRoot: "v1M3UKxS9xoaIMraw/UlYlBb7o+4vMkgLgGuUfUXlf8=", MinorPubKeys: ["0x0242901062c10d36702cdf75330f74a597ef8058245027a5d2d993418c089fd704", "0x027d6958df8109037eab3fb5f2ca2b03ddf5f1952eed1348f8019c29437770b150"], PreviousHash: "mCK7fbNwQpGUcVwqgYnH2Ea0a8gwbf2irAHdZqH3xYQ=", StateRoot: "1oGeQV/LDejnVqb9Q4uovyAiQvoYzan3FRFqJGHkq/U=", Timestamp: 1547288016, TxHashes: ["v1M3UKxS9xoaIMraw/UlYlBb7o+4vMkgLgGuUfUXlf8="], Version: 1 }, MultiSig: { Bitmap: "AQE=", Sig: { R: 8.467045644602432e+76, S: 9.513484500254109e+75 } } } Method getMaxHeight Parameters None Description Get current block's height Returns Number Example Return db.getMaxHeight()
Method getMostRecentBlocks Parameters The number of the newest blocks Description Get newest blocks data via the number parameter Returns Array Example db.getMostRecentBlocks(2)
[{
Data: { TxCount: 1, TxList: [{... }]
}, Header: { ChainId: "33333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330333333303333333033333330", GasLimit: "RWORgkT0AAA=", GasUsed: "", Height: 1, LeaderPubKey: "0x0258fc6797a561c701ca2c1336b4ea641745bd427319c50e82fa044c8a85b18616", MerkleRoot: "oRDZuhaSx/h2IlTXgEvSdGIUzln/V50MZIxK/PlVgrg=", MinorPubKeys: ["0x0242901062c10d36702cdf75330f74a597ef8058245027a5d2d993418c089fd704", "0x027d6958df8109037eab3fb5f2ca2b03ddf5f1952eed1348f8019c29437770b150"], PreviousHash: "IsZzW/wWnPD9zt1b+gQAd0mvyNzx/fmEtHsjEDiX+QE=", StateRoot: "jdME0UFb2ooUd84ymQMAQeTMhl/xuQZmb5uDlFv6RaA=", Timestamp: 1547291143, TxHashes: ["oRDZuhaSx/h2IlTXgEvSdGIUzln/V50MZIxK/PlVgrg="], Version: 1 }, MultiSig: { Bitmap: "AQE=", Sig: { R: 7.159555199205425e+76, S: 6.394261149473947e+76 } } }] Method getNonce Parameters 1:Address 2:Chain id Description Get value fo nonce in the chain via address and chain id Returns Number Example db.getNonce("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b","0x00")
Method me Parameters None Description Get information about yourself Returns Object Example Return chain.me()
{
addr: "0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b", balance: 0, chainId: 0, nonce: 0
} Method check Parameters 1: Address 2: Chain id Description Get information of the chain via address Returns Obeject Example chain.check("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b","0x00")
{
Balance: 0, ByteCode: null, CodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000", Nonce: 0, Reputation: 0
} Method checkNonce Parameters Address Description Get nonce via address Returns Number Example chain.checkNonce("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b")
Method checkBalance Parameters Address Description Get balance via address Returns Number Example chain.checkBalance("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b")
Method create Parameters The code of contract Description Create contract Returns String Example chain.create("60806040523480...")
Method call Parameters 1:Address 2:Chain id 3:Contract address 4:Amount 5:Whether the read-only Description Invoke contract Returns String Example Return chain.call("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b","0x00","511bede065df9c06e98ca75df9f0584f48a0a4f31a66104a5c8095377d69a60f","10",false)
Method getAllBlocks Parameters 1:Adress 2:Chain id 3:Amount Description Get data of all the blocks Returns Array Example chain.send("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b","0x00","10")
Method addressList Parameters None Description Print the list of local accounts Returns Array Example account.addressList()
[" 0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b" ] Method createAccount Parameters None Description Create account Returns String Example account.createAccount()
0 x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b Method dumpPrikey Parameters Address Description Export privekey Returns String Example account.dumpPrikey()
Method open Parameters Password Description Open wallet Returns None Example account.open()
Method close Parameters None Description Close wallet Returns None Example account.close()
Method lock Parameters None Description Lock password Returns None Example account.lock()
Method open Parameters Password Description Unlock wallet Returns None Example account.unLock()
The drep-cli library is licensed under the GNU Lesser General Public License v3.0.