Smart Vault CLI

Lightstreams Command Line Tool.

Leth is the Command Line Interface tool for interacting with a Lightstreams node and Smart Vault. Leth also exposes a HTTP API for accessing these same commands from a client.

leth

The Leth tool run at the command line.

leth [flags]

Options

  -h, --help   help for leth

acl

Features Leth Access Control List (ACL) capabilities such as granting file permissions.

leth acl [flags]

Options

  -h, --help   help for acl

acl grant

Grant an ACL permission to another account.

Usage:

leth acl grant --nodeid=1 --network=rinkeby --permission=read --acl=0xd966aa573f8AcBfEb3724B661B420c258ceA5D38 --owner=0xadC486F16F003897fb927e22438cb1b820f79879 --to=0xadc486f16f003897fb927e22438cb1b820f79879

Possible Outputs:

{"is/granted":"true"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth acl grant [flags]

Options

      --acl string          ACL ID (Deployed Smart Contract Hex Addr) associated with the stored file.
  -h, --help                help for grant
      --network string      Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int          ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --owner string        The account with rights to grant the ACL permission.
      --permission string   Permission to grant. Possible values: [noaccess,read,write,admin]
      --to string           Account address to whom the permission should be granted.

acl grant-public

Grant a read access to everybody.

Usage:

leth acl grant-public --nodeid=1 --network=rinkeby --acl=0xd966aa573f8AcBfEb3724B661B420c258ceA5D38 --owner=0xadC486F16F003897fb927e22438cb1b820f79879

Possible Outputs:

{"is/granted":"true"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth acl grant-public [flags]

Options

      --acl string       ACL ID (Deployed Smart Contract Hex Addr) associated with the stored file.
  -h, --help             help for grant-public
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --owner string     The account with rights to grant the ACL permission.

acl revoke-public

Revoke a public read access from everybody.

Usage:

leth acl revoke-public --nodeid=1 --network=rinkeby --acl=0xd966aa573f8AcBfEb3724B661B420c258ceA5D38 --owner=0xadC486F16F003897fb927e22438cb1b820f79879

Possible Outputs:

{"is/revoked":"true"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth acl revoke-public [flags]

Options

      --acl string       ACL ID (Deployed Smart Contract Hex Addr) associated with the stored file.
  -h, --help             help for revoke-public
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --owner string     The account with rights to grant the ACL permission.

auth

Verifies that an authentication token is valid.

Usage:

leth auth --nodeid=1 --network=rinkeby --peer=QmW6hffkDWCYK988j1oyAi26F6HEkHDvQ7qKKxoSNJwmyS --token=eyJibG9ja2NoYWluIjoiRVRIIiwiZXRoX2FkZHJlc3MiOiIweEM5NjZhYTU3MzA4QWNCZkViMzcyNkI2NjFCQzIwYzI1OGNlQTVEMzgiLCJpYXQiOjI3NzExNDUsImVhdCI6Mjc3MTIwNX0.2Z2Qm8MSVaTTVZRbtIjuKjjQXYFuprmmo5Okat85RiIkEwIFQObaimFkCieonHG6dyFqKx6h-hFdGeV8DbtEbAE

Possible Outputs:

{"is/authenticated":"true","user":"0xC966aa57308AcBfEb3726B661BC20c258ceA5D38"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth auth [flags]

Options

  -h, --help             help for auth
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --token string     Token to authenticate.
      --peer string      PeerID who generated this token.

docs

Generates LETH / usage docs based on code into the: 'docs/cmd/auto/generated'.

leth docs [flags]

Options

  -h, --help   help for docs

init

Initializes new Lightstreams node for connecting to the chosen network.

leth init [flags]

Options

      --force            Force node data initialization, erase previous folder in case this exists. False by default.
  -h, --help             help for init
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.

run

Runs full Leth node by spawning blockchain and IPFS daemons.

leth run [flags]

Options

  -h, --help             help for run
      --https            Serves an HTTPs server on your localhost. False by default.
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.

shop

Features capabilities for selling/buying digital content.

leth shop [flags]

Options

  -h, --help   help for shop

shop buy

Allows an account to purchase permission to access a copy of the digital content from a seller.

Usage:

leth shop buy --nodeid=1 --network=rinkeby --shop=0xshopIDF16F003897fb927e22438cb1b820f79879 --acl=0xd966aa573f8AcBfEb3724B661B420c258ceA5D38 --from=0xadC486F16F003897fb927e22438cb1b820f79879

Possible Outputs:

{"success":"true"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth shop buy [flags]

Options

      --acl string       ACL ID to buy.
      --from string      The account buying the ACL permission.
  -h, --help             help for buy
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --shop string      Shop ID where ACL can be bought.

shop create

Creates a smart contract for managing the sale of digital content.

Usage:

leth shop create --nodeid=1 --network=rinkeby --from=0xadC486F16F003897fb927e22438cb1b820f79879

Possible Outputs:

{"shop":"0xshopIDF16F003897fb927e22438cb1b820f79879"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth shop create [flags]

Options

      --from string      The owner of the shop.
  -h, --help             help for create
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.

shop sell

Specifies digital content for sale that to the smart contract controlling access permissions to the digital content.

Usage:

leth shop sell --nodeid=1 --network=rinkeby --shop=0xshopIDF16F003897fb927e22438cb1b820f79879 --acl=0xd966aa573f8AcBfEb3724B661B420c258ceA5D38 --price/wei=1000000000000000000 --from=0xadC486F16F003897fb927e22438cb1b820f79879 

Possible Outputs:

{"success":"true"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth shop sell [flags]

Options

      --acl leth storage add    ACL ID to sell (returned by leth storage add /).
      --from string             The account with rights to sell an ACL permission in the shop.
  -h, --help                    help for sell
      --network string          Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int              ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --price/wei string        For how much PHTs in Wei can users buy this ACL?
      --shop leth shop create   Shop ID where ACL can be sold/bought. (returned by leth shop create /).

user

Capabilities for managing a user's account.

leth user [flags]

Options

  -h, --help   help for user

user signin

Generates an authentication token to be used verifying a user's identity.

Usage:

leth user signin --nodeid=1 --network=rinkeby --account=0xadc486f16f003897fb927e22438cb1b820f79879 --peer=QmW6hffkDWCYK988j1oyAi26F6HEkHDvQ7qKKxoSNJwmyS

Possible Outputs:

{"token":"eyJibG9ja2NoYWluIjoiRVRIIiwiZXRoX2FkZHJlc3MiOiIweGU5Q2JmNjgzRjQ3OTkwMTEzNGE3QTc4RTkxYzljNTIzM2I4RjlDMDQiLCJpYXQiOjMwNTA0NjcsImVhdCI6MzA1MDUyN30.VkAWASrD/20MggH2laXjPlcFpVVPsoLniyTyyTPwFoYV5EQfZG/p/YP-q8u1eyxOpm5Xq4ai5MMcFnu9HBbAE"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth user signin [flags]

Options

      --account string   Your account HEX address to login with.
  -h, --help             help for signin
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --peer string      The PeerId of the Smart Vault node where this token will be valid for.

user signup

Creates a new user account.

Usage:

leth user signup --nodeid=1 --network=rinkeby

Possible Outputs:

{"account":"0xadc486f16f003897fb927e22438cb1b820f79879","error":""}
{"account":"0x0000000000000000000000000000000000000000","error":"some error message"}
leth user signup [flags]

Options

  -h, --help             help for signup
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.

version

Returns the version of the Leth tool.

leth version [flags]

Options

  -h, --help   help for version

wallet

Capabilities for managing a user's funds.

leth wallet [flags]

Options

  -h, --help   help for wallet

wallet balance

Get an account balance in Wei.

Usage:

leth wallet balance --nodeid=1 --network=rinkeby --account=0xadc486f16f003897fb927e22438cb1b820f79879

Possible Outputs (3ETH):

{"balance":"3000000000000000000","error":""}
{"balance":"0","error":"some error message"}
leth wallet balance [flags]

Options

      --account string   Account address to check balance for.
  -h, --help             help for balance
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.

wallet transfer

Transfer funds from an account to another.

Usage:

leth wallet transfer --nodeid=1 --network=rinkeby --from=0xadc486f16f003897fb927e22438cb1b820f79879 --to=0x0dD46808e9780E4a23dd562962300bA029bCfFEf --value=1200000000000000000

Possible Outputs:

{"success":"true"}
{"error": {"code": "SOME/INTERNAL/ERROR/CODE", "message": "explanatory error message"}}
leth wallet transfer [flags]

Options

      --from string      Account address to transfer Ether from.
  -h, --help             help for transfer
      --network string   Possible values: 'sirius', 'mainnet', 'standalone', 'rinkeby', 'ganache'.
      --nodeid int       ID of the node in order to support multiple nodes on the same machine. 0 by default.
      --to string        Account address to transfer Ether to.
      --value string     Amount of Ether to transfer in Wei format. 1 ETH = 1000000000000000000 Wei

Last updated