drepcli

command module
v0.0.0-...-7505a0c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2019 License: LGPL-3.0 Imports: 7 Imported by: 0

README

DREP CLI

DREP Command Line Interface, a JSON-RPC based client for connecting to the DREP chain to query information on the chain and send transactions.

Features

  1. Provides a decentralized ID system and data privacy protection
  2. Integrates the underlying chain with both smart contracts and novel smart reputation pipes.
  3. Provides the DREP reputation protocols and reputation templates.
  4. Has high performance and high compatibilities.

Installation

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

Usage

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.

APIs

Blocks and balances

[{
   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
     }
   }
 }...]
  • getBalance
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
  • getBlock
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
    }
  }
}
  • getBlocksFrom
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
      }
    }
}, ...]
  • getByteCode
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")
  • getCodeHash
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")
  • getHighestBlock
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
    }
  }
}
  • getMaxHeight
Method getMaxHeight
Parameters None
Description Get current block's height
Returns Number
Example Return db.getMaxHeight()
  • getMostRecentBlocks
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
      }
    }
}]
  • getNonce
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")
Chain
  • me
Method me
Parameters None
Description Get information about yourself
Returns Object
Example Return chain.me()
{
  addr: "0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b",
  balance: 0,
  chainId: 0,
  nonce: 0
}
  • check
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
}
  • checkNonce
Method checkNonce
Parameters Address
Description Get nonce via address
Returns Number
Example chain.checkNonce("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b")
  • checkBalance
Method checkBalance
Parameters Address
Description Get balance via address
Returns Number
Example chain.checkBalance("0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b")
  • create
Method create
Parameters The code of contract
Description Create contract
Returns String
Example chain.create("60806040523480...")
  • call
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)
  • send
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")
Account
  • addressList
Method addressList
Parameters None
Description Print the list of local accounts
Returns Array
Example account.addressList()
["0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b"]
  • createAccount
Method createAccount
Parameters None
Description Create account
Returns String
Example account.createAccount()
0x772dec19e0b0b2d63a57a3a7fb03fc066d915e6b
  • dumpPrikey
Method dumpPrikey
Parameters Address
Description Export privekey
Returns String
Example account.dumpPrikey()
  • open
Method open
Parameters Password
Description Open wallet
Returns None
Example account.open()
  • close
Method close
Parameters None
Description Close wallet
Returns None
Example account.close()
  • lock
Method lock
Parameters None
Description Lock password
Returns None
Example account.lock()
  • unLock
Method open
Parameters Password
Description Unlock wallet
Returns None
Example account.unLock()

License

The drep-cli library is licensed under the GNU Lesser General Public License v3.0.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
accounts
Package math provides integer math utilities.
Package math provides integer math utilities.
aes
bip
bn256
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
bn256/cloudflare
Package bn256 implements a particular bilinear group at the 128-bit security level.
Package bn256 implements a particular bilinear group at the 128-bit security level.
bn256/google
Package bn256 implements a particular bilinear group.
Package bn256 implements a particular bilinear group.
sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
drepclient
component/jsre
Package jsre provides execution environment for JavaScript.
Package jsre provides execution environment for JavaScript.
component/jsre/deps
Code generated by go-bindata.
Code generated by go-bindata.
types
Package utils contains internal helper functions for go-ethereum commands.
Package utils contains internal helper functions for go-ethereum commands.
Package log15 provides an opinionated, simple toolkit for best-practice logging that is both human and machine readable.
Package log15 provides an opinionated, simple toolkit for best-practice logging that is both human and machine readable.
rpc

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL