All the commands available via the Command Line Tool are documented below
Lite Token Account/Lite Identity Creation
This command will generate a new account URL for you.
Syntax
./accumulate account generate
Command
./accumulate account generate
The above command will return an output similar to the following:
lite identity : 0143b52490530b90eef9b1a2405e322c6badc1e90e200c56
lite token account : acc://0143b52490530b90eef9b1a2405e322c6badc1e90e200c56/ACME
public key : 03c633851507f63ef8517dc934075f2abe2f8c3b3053b5a49a477e8513e01955
key type : ed25519
Account List
This command will get the list of accounts.
Command
./accumulate account list
The above command will return an output similar to the following:
key name : 001846c0a1590675fd0ad816ab4873387ef127cd9b307c24
lite account : acc://001846c0a1590675fd0ad816ab4873387ef127cd9b307c24/ACME
public key : 3615e429b89fa3d6b636412d7a17b13cc321c14b2f2e5bf520868c9617401845
key type : legacyED25519
key name : 003df7b8b865b3eda520dbb224eaf7536ee98cc25874ce54
lite account : acc://003df7b8b865b3eda520dbb224eaf7536ee98cc25874ce54/ACME
public key : 45090e7cfa0edd52db7181fa0a30f1da8d2c0b1bdc6b4847de75fe922ad9e755
key type : ed25519
The above command will return an output similar to the following:
Transaction Hash : a0018d18c558c36f3f639fa1a64e2e9c47cc705fdf0d3f65a8ec8f0e0bd0f328
Signature 0 Hash : 78d521b36691c46216a66d6648dd620a9f6ec312a24b3b0f29a9889887f4953d
Simple Hash : ab039db9714e8a30b0443054dea78a36e754ead8ca50a6ab6e50adc62ef3d801
Error code : ok
Result :
The Transaction Hash is a hash of the transaction without signatures and the Signature Hash is the Transaction Hash with the Signature appended to it and hashed.
TX Get Transaction Hash (TXID)
To query a transaction by the transaction ID a tx get command is required
Syntax
accumulate tx get [txid] Get token transaction by txid
Command
accumulate tx get a0018d18c558c36f3f639fa1a64e2e9c47cc705fdf0d3f65a8ec8f0e0bd0f328
The above command will return an output similar to the following:
The get token command will query the balance to check the token balance of a Lite Token Account. The Token URL in the output specifies the type of Token.
Syntax
accumulate get [url] Get data by Accumulate URL
Command
./accumulate get acc://0143b52490530b90eef9b1a2405e322c6badc1e90e200c56/ACME
The above command will return an output similar to the following:
A named key can be generated using the key generating function. This will also output the public key's name and key type. Unless specified otherwise, this will create an ed25519 key. If you are creating an ADI DO NOT use a key other than an ed25519 key. Support for this will be added in the future.
Syntax
./accumulate key generate [key name]
Command
./accumulate key generate keytest
The above command will return an output similar to the following:
name : keytest
lite account : acc://601b40a84a69f216173a457c44de5b942bf5aec62a7003ce/ACME
public key : 1ac021a5d6a1e457102019d5fd00cc04d3e9783a745905761d3fab96e9598c57
key type : ed25519
Bitcoin
This command will sign an Accumulate transaction using the Bitcoin signature algorithm
Syntax
./accumulate key generate --sigtype btc [keyname]
Command
./accumulate key generate --sigtype btc testbtc
The above command will return an output similar to the following:
name : testbtc
lite account : acc://321ec96337292b2a34b6b5c8c62f54f1d198465b0a00f35a/ACME
public key : 0396adeb7869b780606a8fe1218ebfb9c71e7e91ca72b1d95210717c3ed5f4dfd8
key type : btc
Bitcoin Legacy
This command will sign an Accumulate transaction using the Bitcoin signature algorithm
The above command will return an output similar to the following:
name : testbtclegacy
lite account : acc://95b9e649f8853e40c59aea635ef883100f014b85d57b75a6/ACME
public key : 040ea7496cd6f50c77230d89b9c9ca60bca1d078b06e0efba9c5f3068f8668d229a38fdb71105cb4beffe66958c9b46bec940296346c494a65263f1330c4340755
key type : btclegacy
Ethereum
This command will sign an Accumulate transaction using the Ethereum signature algorithm
Syntax
/accumulate key generate --sigtype eth [keyname]
Command
./accumulate key generate --sigtype eth testeth
The above command will return an output similar to the following:
name : testeth
lite account : acc://388acd64ebbabbf89f0c2b250fb181ef5dff5122b1448c87/ACME
public key : 041901c4486b91f82d16281d84031bd25baf2d61703a3c4caade2f5a844a6f73f2f1e2f80f995fa9db6ed794234eb5efdd44efad81a4b2bf6e14319bd74b55d588
key type : eth
Factom (RCD1)
This command will sign an Accumulate transaction using the Factom signature algorithm
The above command will return an output similar to the following:
name : testRCD1
lite account : acc://6a3956d856638d58757e0a47f24fa112876e664ffa322fa2/ACME
public key : 9f3d2d2604d8e50453f59d379c25c0fc5220d512a786f3c419947e6050e758a6
key type : rcd1
Key Import Mnemonic
This command imports the key using the mnemonic phrase
Syntax
accumulate key import mnemonic [mnemonic phrase...] Import the mnemonic phrase used to generate keys in the wallet
The above command will return an output similar to the following:
name : FA2MSMBiyHmBLP1LDYAVWGRkkLpr64mMMi7N11hKchT6bAi926XW
lite account : acc://32c484ebfd344810353cb273d538166f3b4a9391486343d5/ACME
public key : aba7ecaa24874d13f272b87b7924bc4613a82904a98ef399f4b6d9a29e46a381
key type : rcd1
Key Import Lite
Syntax
accumulate key import lite [private key hex] Import a key as an anonymous address
Command
./accumulate key import lite ****************************
The above command will return an output similar to the following:
name : 4111d56848824a2d74ee93e2c42091f7019a87c7649b48fe
lite account : acc://4111d56848824a2d74ee93e2c42091f7019a87c7649b48fe/ACME
public key : 76324e43a382e6ff6a9724f8dae137b93f5d5a61a3eb9d6e5213739b656c5d44
key type : ed25519
Key Export All
Syntax
accumulate key export all
Command
./accumulate key export all
The above command will return an output similar to the following:
accumulate key label [command]
Available Commands:
assign assign public key of existing label to a new label.
remove remove a key label
rename rename a key label to new label, note: the old key name will be replaced with the new key
name
The above command will return an output similar to the follow
Label(s) | test505
Lite Label | 612d6cd0ff886f95c9385c828cd8c3006de84d06617f20fa
Public Key | 936dc073a2694118a4e1d8b344b033d7a7fac0bdc981ef16f122e65be4967c16
Key Hash | 612d6cd0ff886f95c9385c828cd8c3006de84d06a2fd5474fed97f0d954a6215
Key Type | rcd1
Derivation | m/44'/131'/0'/0
Wallet
Export - Export Wallet Details
./accumulate export "C:\filepath\myaccounts.json"
Check the file path and open the json file to view its contents
Init - Import secret factoid key from terminal input
./accumulate wallet init create
./accumulate wallet init import
Enter mnemonic :
Serve - run wallet service daemon
./accumulate wallet serve
Credits
To send ACME tokens to another account, you need to purchase credits with ACME and send them to a recipient.
Check this link to view the Base Fees for different transactions.
To send credits to your lite account or Key Page, run the example command in your terminal
Adding Credits to a Lite Token Account/Lite Identity.
This command adds credit to your lite token account/lite identity.
Syntax
accumulate credits [origin token account] [key page or lite identity url] [number of credits wanted] [max acme to spend] [percent slippage (optional)] [flags][BS2]
This command returns a lite data account by using the url and index.
Syntax
accumulate data get [DataAccountURL] [start index] [count] expand(optional) Get a set of data entries starting from start and going to start+count, if "expand" is specified, data entries will also be provided
Command
./accumulate data get acc://7d27485702b1f756a7c0f6ac39931e77959f58d475ee3898 0 2
The above command will return an output similar to the following:
This command creates an ADI from a lite token account.
Syntax
accumulate adi create [origin-lite-account] [adi url to create] [key-book-name (optional)] [public key page 1 (optional)] Create new ADI from lite token account.
When public-key one is specified, it will be assigned to the first page. Otherwise, the origin key is used.
Command
./accumulate adi create acc://f338762f7013acb0fd5e1480c20df47ff836862adbd6e0f1/ACME acc://DefiDevs.acme acc://DefiDevs.acme/Keybook
The above command will return an output similar to the following:
Transaction Hash : 1139db355819257a618129641464b145e8a4d0fdab301507f7c0ebbcd9185105
Signature 0 Hash : cf3dbe8c63b9f31b5a506de03cf758393e1db6c71e039b7c528d7651b9128b8c
Simple Hash : a08ab66047f800ce11e0654bae6b584d085fd594c70c225a3aa87cbd9e0bc597
Error code : ok
Result :
ADI Creation from an ADI
This command creates ADI from another ADI.
Syntax
accumulate adi create [origin-adi-url] [adi url to create] [public key or wallet key name] [key book url (optional)] [public key page 1 (optional)] Create new ADI for another ADI
Command
./accumulate adi create acc://DefiDevs.acme acc://Toyota Key2 acc://Toyota/Keybook
The above command will return an output similar to the following:
Transaction Hash : 00038a5fd818006ac01089f8aea782b846722bec150a333dfc77356a277e60bf
Signature 0 Hash : 5c64193d64950c2bee4873feb557d477ca0590fd37e4b0b4ad817a5fdd1fcdb4
Simple Hash : 032d354fc6b03036f00cb5cfdf2674705a2e5f0f2f99896b9ceea48e77feaad9
Error code : ok
Result :
ADIs can also be created using the following accounts as principals for the transaction: ADI Data Account, ADI Token Account, ADI Token Issuance, and a Sub-ADI and its Accounts.
ADI Creation from a Sub-ADI
This command creates ADI from a sub-ADI.
Syntax
accumulate adi create [origin-adi-url] [adi url to create] [public key or wallet key name] [key book url (optional)] [public key page 1 (optional)] Create new ADI for another ADI
Command
./accumulate adi create acc://DefiDevs.acme/Robot acc://Ford.acme Key2 acc://Ford.acme/Keybook
The above command will return an output similar to the following:
Transaction Hash : e3fa9f05a4eb736dbaac58594fdcfb1478098555d7c27c315a4595a38aabdd5e
Signature 0 Hash : c00282900903ddf18f7ca2fcbe09bd2971d48d8364516e45d9f7069ecb1db7b7
Simple Hash : 23c66ccbe1bba178b553c87582595d2710e7e97d85528c96c37d5ae07ebfebe3
Error code : ok
Result :
ADI Creation from a Sub-Sub-ADI
This command creates ADI from a sub-sub-ADI.
Syntax
accumulate adi create [origin-adi-url] [adi url to create] [public key or wallet key name] [key book url (optional)] [public key page 1 (optional)] Create new ADI for another ADI
Command
./accumulate adi create acc://DefiDevs.acme/Robot/MrRoboto acc://Ferrari Key2 acc://Ferrari/Keybook
The above command will return an output similar to the following:
Transaction Hash : a203c790287deb440c2fb1abeaab92131ea0ce4deaeb1d2c448bf2ba92b9dac6
Signature 0 Hash : e095e22c1e20d89f0b741332200d647febc86369826f3c65000e842f99cbef35
Simple Hash : f4509afb159a11ece81f89395f512e9f0bf40b16c0a007140b8606dd6ba23f93
Error code : ok
Result :
ADI Directory
This command returns the list of your ADI directory.
Syntax
accumulate adi directory [url] [from] [to] [flags]
Command
./accumulate adi directory acc://DefiDevs.acme 0 20
The above command will return an output similar to the following:
To see a list of ADIs created and the initial Key specified for Key Page 1
ADI Get
An ADI get returns the ADI URL, as well as the Key Book, generated during the creation of the ADI.
Syntax
accumulate adi get [url] [flags]
Command
./accumulate adi get acc://DefiDevs.acme
The above command will return an output similar to the following:
ADI url : acc://DefiDevs.acme
Key Book Url : acc://DefiDevs.acme/Keybook
Key Books
The Key Books store an ADI's Hierarchical Key Management Structure using Key Pages and Keys within those pages.
Get Key Book
This command returns the list of keybook
Syntax
accumulate get [url] Get data by Accumulate URL
Command
./accumulate get acc://DefiDevs.acme/Keybook/
The above command will return an output similar to the following:
Page Count
2
get Deprecated - use `accumulate get ...` fix in CLI
Create an Additional Key Book
An ADI can have multiple Key Books. To create an additional Key Book, a Public Key Hash or Key Book URL must be specified for the purpose of signing the transaction. A new public key or key name should be added to the new book.
Syntax
accumulate book create [origin adi url] [new key book url] [public key 1 (optional)] ... [public key hex or name n + 1 [flags]
Command
./accumulate book create acc://DefiDevs.acme acc://DefiDevs.acme/Keybook2 Key3
The above command will return an output similar to the following:
Transaction Hash : c168ecfb3985a88f694666b0ed19f8e24b6451eb412da788f1068694a24e4a24
Signature 0 Hash : 0c023834a44520f396470c0db58404db94330aee7189a78073463d017d2736a1
Simple Hash : 48f0c4a86d6c1d45e8de4d718370aa6481da9f09c853f53135b5858de85d976c
Error code : ok
Result :
Key Pages
A Key Page has entries that define the parties required to sign a transaction. If you have the same Key in multiple Key Pages you must explicitly specify the page using keyname@adi.acme/book/(page number).
Get Key Page
This command returns the list of key pages.
Syntax
accumulate get [url] Get data by Accumulate URL
Command
./accumulate get acc://DefiDevs.acme/Keybook/1
The above command will return an output similar to the following:
Credit Balance : 0.00
Index Nonce Public Key Key Name(s)
0 1969-12-31 19:00:00 -0500 EST fa9ae1e76b6936583546d495c98f34a9f0d57b52f759b4ebf1f04e6db0111381 Key3
1 1969-12-31 19:00:00 -0500 EST c3781e20dd3dbaade511587e4b153efc86e2194111a07091a0e6159d7699c513 Key4
2 1969-12-31 19:00:00 -0500 EST 0d83eababd1ba323f69470576f8c9eb563821a07cca55f5ac30f276cf62bebc4 Key1
Adding Credits to a Key Page
An ACME token account must be referenced when adding credits to a Key Page. This can either be a Lite Token Account or an ADI Token Account.
Syntax
accumulate credits [origin token account] [key page or lite identity url] [number of credits wanted] [max acme to spend] [percent slippage (optional)] [flags]
A new Key Page can be added to a Key Book where public keys or key names can be specified. In the example below 3 keys were added to the new Key Page (Key1, Key3, and Key4. Due to this being the 2nd Key Page, the Key Page URL would be acc:/DefiDevs.acme/Keybook/2.
Syntax
accumulate page create [origin key book url] [public key 1] ... [public key hex or name n + 1] [flags]
Transaction Hash : 4d0b16c471a19d7abcc2173ca5b268c28283a0e3c0764d776fdfbd1259aa1310
Signature 0 Hash : eb59b97b4a084f07205602a5dbe3fccf7ff7911e6f40540b627737fcc1dccd44
Simple Hash : 151016ca9c69c73cd0c36f0094350104bfabd6cda7d6edf63573c39326c1839f
Error code : ok
Result :
To verify a locked key page
To verify the locked key page, retrieve the value of key page. The following entry should be present in output.
"transactionBlacklist":["updateKeyPage"]
./accumulate.exe get acc://RajagopalIndia456.acme/book/3 -j
{"chainId":"1827174d2c721b93eb85c867fdf2dacadf75b9118cd702bcd4e831978de43f8c","chains":[{"count":41,"height":41,"name":"main","roots":["4d0b16c471a19d7abcc2173ca5b268c28283a0e3c0764d776fdfbd1259aa1310",null,null,"cc592302f8b7e438aebab91abf97e88b0a3f77e34f0a3264a7244c72bfb6b717",null,"4ba548e009f93ef4f2cffbbc2c6c251f3afbae95facbcac4547f03d41431c46f"],"type":"transaction"},{"count":41,"height":41,"name":"main-index","roots":["012802c5ae03039ea8aa01200000000000000000000000000000000000000000",null,null,"46ce7e00434dcf5b35ae6f269b144f353829224e295f0f8f3cf05d60afd715b3",null,"c65ed6c7442a1d5826ba41a4f8685ee492d36ff7321c18f481e7cebbd7caa59b"],"type":"index"},{"count":37,"height":37,"name":"signature","roots":["eb59b97b4a084f07205602a5dbe3fccf7ff7911e6f40540b627737fcc1dccd44",null,"7ba62d5dd3593010efb1a8a3d0d35c7b29f9fb814451eae2247fccca62b3bd76",null,null,"e146cca3dade29f26b8cda0bcbd9ed8f86b896bbb53cd3f0c43ca23449f619f1"],"type":"transaction"}],"data":{"acceptThreshold":1,"creditBalance":9700,"keyBook":"acc://RajagopalIndia456.acme/book","keys"[{"publicKey":"3ebc9b367208e1834afc5a9819ca6ab54d84e2a529a76267d02594f5fe118db0","publicKeyHash":"3ebc9b367208e1834afc5a9819ca6ab54d84e2a529a76267d02594f5fe118db0"},{"publicKey":"40d2648776279fcefd975ecda62d06cd7204952d8637b5dc0d6cd2115bc34df9","publicKeyHash":"40d2648776279fcefd975ecda62d06cd7204952d8637b5dc0d6cd2115bc34df9"},{"publicKey":"4af9d6740c30b7cab4c3639bf4ffa0aedbc38db41978818d8e268fc4f4c29c9c","publicKeyHash":"4af9d6740c30b7cab4c3639bf4ffa0aedbc38db41978818d8e268fc4f4c29c9c"},{"publicKey":"51bc346a606cfa7de2834f04a6c69d560e47257a78b5f12caaa338605ae8d37d","publicKeyHash":"51bc346a606cfa7de2834f04a6c69d560e47257a78b5f12caaa338605ae8d37d"}],"threshold":1,"transactionBlacklist":["updateKeyPage"],"type":"keyPage","url":"acc://RajagopalIndia456.acme/book/3","version":38},"mainChain":{"count":41,"height":41,"roots":["4d0b16c471a19d7abcc2173ca5b268c28283a0e3c0764d776fdfbd1259aa1310",null,null,"cc592302f8b7e438aebab91abf97e88b0a3f77e34f0a3264a7244c72bfb6b717",null,"4ba548e009f93ef4f2cffbbc2c6c251f3afbae95facbcac4547f03d41431c46f"]},"merkleState":{"count":41,"height":41,"roots":["4d0b16c471a19d7abcc2173ca5b268c28283a0e3c0764d776fdfbd1259aa1310",null,null,"cc592302f8b7e438aebab91abf97e88b0a3f77e34f0a3264a7244c72bfb6b717",null,"4ba548e009f93ef4f2cffbbc2c6c251f3afbae95facbcac4547f03d41431c46f"]},"type":"keyPage"}
Transaction Hash : 40c3de4f3688b9a9aa993537196b9f6e221fadb2137305f419a4f789f75a877f
Signature 0 Hash : 5ae4def21f0387606bc6cac36f149aa85747ce916096bc74787e3c446d1dd92b
Simple Hash : 550a22a7dd0d536787581840f3710ab7a317157858c1bd7d75e01d97c1bb5946
Error code : ok
Result :
Setting a Threshold for a Key Page
By default, setting a threshold for a Key Page, the m of n will be 1 of 1. Because of this, any entry within the Key Page can update the signature threshold. In the example below, the number of Keys within acc://DefiDevs.acme/Keybook/2 is 3. Setting the threshold at two means that 2 of 3 signatures are required for the transaction to be processed.
The above command will return an output similar to the following:
Transaction Hash : 6130d09c7b8bc2ffbdf82f13b9a0a4b5144bc2878523e899549ed732c9829f22
Signature 0 Hash : 2990a1ee1894494859162ed9d6772454a55a8737960fcaa09e7f6d150c8ef944
Simple Hash : 881275aea93bd90879f8f8d6c4d7d479ccffdc18b31f89538c752f67b77b0368
Error code : ok
Result :
Multi-Signature Transactions
A multi-signature transaction is defined by the signature threshold for a given Key Page. As a note, to sign with multiple keys at once you can add the --sign-with flag with a list of keys to a transaction.
Multi-Signature Transactions
A multi-signature transaction is defined by the signature threshold for a given Key Page. In the following examples, a new Key will be added to a Key Page using a multi-signature transaction.
The above command will return an output similar to the following:
Pending Tranactions -> Start: 0 Count: 1 Total: 1
Sign Transaction Hash
The second signer signs the transaction hash of the first transaction in the multi-signature sequence. If there are additional signers, they sign the same transaction hash.
The above command will return an output similar to the following:
Transaction Hash : 72fb5fcdecbf8b30182e20eaeb4d218f13163fe15b2ff6543f8be7ea2d4a78e6
Signature 0 Hash : de79633b1ceced2652f29f7fcb813190c19d175dd1846e76b3e233da66252666
Simple Hash : c87ef41af1233a666e9a833f50ee030ddcca08a1adaab76904846489220f3b8b
Error code : ok
Result :
Signing with a Delegate
If a Delegate is specified in a Key Page Entry, the Delegate can use any entry within its Key Book to sign a transaction. If the Delegate is of a different ADI (remote), the signing key must be specified using [keyname@adiname/keybookname]. In the example below, the Delegate is remote.
The above command will return an output similar to the following:
Transaction Hash : d2a93317575373327b3ba359ff7131d357fe3bbc4d05623a6e38ed23d2b1e35f
Signature 0 Hash : 2e64be2a1943017776ecdd9949876204b08ebde14ffdb4e832cc48f8ba4b546b
Simple Hash : 1d8f86444849e054f4286f10286ef8ebb9278ad19ed799eed68646896754617e
Error code : ok
Result :
Key Book Authorities
An ADI and its accounts have a set of Key Books which manages the signers for that Account. When a Key Book Authority is added to an Account, the Key Book signs a transaction hash to approve its addition. The --auth flag can be added when creating an account to add multiple authorities at once.
Add an Authority
When adding an Authority, the Authority must sign the transaction hash to approve its addition.
The above command will return an output similar to the following:
Transaction Hash : de14677e318310c19c56fdc12aa7fbf6201c91bc851739c00de8636f28591569
Signature 0 Hash : c8099cc81b5877376c02b9669b501dd0b9c139a65bddee68fae28a5bc7a766d0
Simple Hash : e8912ec4e9104f4396303520d078d3357b034c0c988607ea5ebbd89fd93580af
Error code : ok
Result :
Create Sub-ADI and Sub-Sub-ADIs
A Sub-ADI is an ADI created within an ADI. An example could be an organization that creates an ADI and different departments within the origination are Sub-ADIs.
Syntax
accumulate adi create [origin-adi-url] [adi url to create] [public key or wallet key name] [key book url (optional)] [public key page 1 (optional)] Create new ADI for another ADI
Command
./accumulate adi create acc://DefiDevs.acme acc://DefiDevs.acme/Car Key2 acc://DefiDevs.acme/Car/Keybook
The above command will return an output similar to the following:
Transaction Hash : 5b94f5c9a7b19cc2c519116c9019848df4de4fb31be0e5adf6c99802ab8683c2
Signature 0 Hash : 98a2bfb209e63da0be9d945cf8538555c5cac25d8a706ebe73d8070002b20de2
Simple Hash : 730ca4e3f825d078b219afbfae2ae50ffc382a736a86d3ae865e8f5b3d4ac713
Error code : ok
Result :
Adding Credits to a Sub-ADI Key Page
Syntax
accumulate credits <origin lite account> <lite account or key page url><amount>
In the example below, the Origin ADI URL is the Sub-ADI and the ADI URL to create is the Sub-Sub-ADI
Syntax
accumulate adi create [origin-adi-url] [adi url to create] [public key or wallet key name] [key book url (optional)] [public key page 1 (optional)] Create new ADI for another ADI
Command
./accumulate adi create acc://DefiDevs.acme/Robot acc://DefiDevs.acme/Robot/MrRoboto Key2
The above command will return an output similar to the following:
Transaction Hash : 0c681b2bdf1c3608a675bb8a6111040979b33fb6c7f049c2fc31fe7ebb4dca31
Signature 0 Hash : 5190c67a22f61c53bba47cd9d8e081c971900c0d6b5bebf96468907646b5c2d4
Simple Hash : 971debec83777998f35715ba640429de57a4dc70b593997c6e10bd8a2f38a5cf
Error code : ok
Result :
ADI Token Account
An ADI can have different account types such as an ADI Token Account. An ADI can have multiple ADI Token Accounts, but each ADI token account can only hold one type of token such as ACME, Accumulate’s native token.
Token Account
Sender/Receiver
Lite Token Account
ADI Token Account
Sub-ADI Token Account
Lite Token Account
X
X
X
ADI Token Account
X
X
X
Sub-ADI Token Account
X
X
X
This matrix doesn’t capture sub-sub ADI token accounts and sub-sub-sub ADI Token accounts etc.
Create an ADI Token Account
The creation of an ADI Token Accounts requires Credits. These Credits must reside within the Key Page of the Key Book associated with the ADI Token Account. As per the fee schedule, 25 credits are required.
Available Commands: convert Convert an existing token account into a staking account
Flags:
--delegate url The account the stake should be delegated to -h, --help help for staking
****--rewards url Staking rewards account, if rewards should not be sent back into the staking account
--type StakingType Type of staking account (pure, delegated, core-validator, core-follower, or staking-validator) (default inactive)
--lockup Number of quarters stake will be locked (min. 2 max. 14)
Delegated Staking Example:
Transaction Hash : 25c8e094d31e08cf13881591e812d27c342398858fa20cb70927e243e7830d3b
Signature 0 Hash : 6cb358549a29cfa4086851b9c47c2aa57d3bb284ef59568b059393d735a4ea6a
Simple Hash : d46e44f59efb4d6d4be73550d8c92a82338351ab7c2079ba88c404cd04c6eb1b
Error code : ok
Result :
Token Issuer
A Token Issuer defines the properties of a custom token to be issued such as the symbol and supply limit. When creating an ADI Token Account that will accept a custom token, the Token Issuer must be specified instead of acc://ACME. To create a Custom Lite Token account the Token Issuer must issue the tokens to the Lite Identity (URL without /ACME) with Token Issuer URL appended to the Lite Identity address.
Create a Token Issuer
Syntax
accumulate token create [origin adi or lite url] [token issuer url][BS4] [symbol] [precision (0 - 18)] [supply limit] [properties URL (optional)] [flags]
Command
./accumulate token create acc://DefiDevs.acme acc://DefiDevs.acme/AI AI 1 100000000
The above command will return an output similar to the following:
Transaction Hash : 1c3831173fbe09247386fa9630f80de13b160dfb7d2f8361dfb7a3e440a492d9
Signature 0 Hash : ebaa7ebcd6a495d84b822bd8f70afe8c9b266321bc2955c3fdcba8a7eb9ebdbc
Simple Hash : 469615f0d9f4a31cccc5b641e752892a43c1a03eab8cb11c8eee95d8d6254724
Error code : ok
Result :
The above command will return an output similar to the following:
Transaction Hash : e1e2ca605288e35a78d2413156e3d718f601330f2d0c684494099d301d1b97e2
Signature 0 Hash : b11eba4bc508076d1b3e01d2eee40892eaccccc3d83efe17126b850c93057c8f
Simple Hash : 26f5d0f163f677da0d840e2fbbd17ace0663fe44c8de2c207cd95fdd2e42b70a
Error code : ok
Result :
Create an ADI Data Account
Create an ADI Data Account
Syntax
accumulate account create data [actor adi url] [adi data account url] [key book (optional)] Create new data account
Command
./accumulate account create data acc://DefiDevs.acme acc://DefiDevs.acme/Data acc://DefiDevs.acme/Keybook
The above command will return an output similar to the following:
Transaction Hash : 55bf5c8fcb3603185e9c25f481d22843ff6c5a4398fa276d2764cdc91641a3f0
Signature 0 Hash : 8ef47e055cf47b4152f7243d3cc2e9f970b3dde79af614b8c6718f76b71219f3
Simple Hash : 0ad1a784211354d5893c25a42f7dabe5e02b65abbc3c57007add3a450c020bf8
Error code : ok
Result :
Write to an ADI Data Account
Syntax
accumulate data write [data account url] [extid_0 (optional)] ... [extid_n (optional)] [data] Write entry to your data account. Note: extid's and data needs to be a quoted string or hex
Command
./accumulate data write acc://DefiDevs.acme/data "entryhashtest1"
The above command will return an output similar to the following:
Querying an ADI Data Account by URL and a Specific Index
Syntax
accumulate data get [DataAccountURL] [start index] [count] expand(optional) Get a set of data entries starting from start and going to start+count. if "expand" is specified, data entries will also be provided
Command
./accumulate data get acc://DefiDevs.acme/Data 0 1
The above command will return an output similar to the following:
accumulate account create data [actor adi url] [adi data account url] --authority key
book (optional)
The actor ADI is an AD or Sub-ADI
Command
./accumulate account create data acc://DefiDevs.acme/Robot acc://DefiDevs.acme/Robot/Data acc://DefiDevs.acme/Robot/Book
The above command will return an output similar to the following:
Transaction Hash : 9c60e74028f727337d60bf6239c5bfb1a46de9580a6d8c89b1bf184a9988da9b
Signature 0 Hash : d64a914c3f63804d2c38bd79805091f2f0a8d2072e9cbd517bb022d18dfe4cbe
Simple Hash : 1647fa7c763ec3b88aa9cb2e61cd28c1afed2ddffc869c9702bdbd8cb22c43df
Error code : ok
Result :
Write to a Sub-ADI Data Account
Syntax
accumulate data write [data account url] [extid_0 (optional)] ... [extid_n (optional)] [data] Write entry to your data account. Note: extid's and data needs to be a quoted string or hex
Command
./accumulate data write acc://Test.acme/SubADITest/Data 'Key6'
The above command will return an output similar to the following:
Querying a Sub-ADI Data Account by URL and a Specific Index
Syntax
accumulate data get [DataAccountURL] [start index] [count] expand(optional) Get a set of data entries starting from start and going to start+count, if "expand" is specified, data entries will also be provided
Command
./accumulate data get acc://Test.acme/SubADITest/Data 0 10
The above command will return an output similar to the following:
accumulate blocks major [partition-url] [start index] [count]
The partition url is a BVN, ADI, or a DN ADI
Command
./accumulate blocks minor acc://dn 0 2
The above command will return an output similar to the following:
Major block result Start: 0 Count: 1 Total blocks: 8
==========================================================================
--- major block #1, major blocktime 0001-01-01 00:00:00 +0000 UTC:
minor block index: 1
minor block time : 2022-08-06 05:48:28 +0000 UTC
minor block index: 2
minor block time : 2022-08-06 05:48:28 +0000 UTC
minor block index: 3
minor block time : 2022-08-06 05:50:42 +0000 UTC
minor block index: 4
minor block time : 2022-08-06 05:50:43 +0000 UTC
minor block index: 5
minor block time : 2022-08-06 05:50:45 +0000 UTC
minor block index: 7
minor block time : 2022-08-06 05:50:48 +0000 UTC
minor block index: 8
minor block time : 2022-08-07 01:05:03 +0000 UTC
minor block index: 9
minor block time : 2022-08-07 01:05:05 +0000 UTC
Block Validator Network Minor Blocks
Syntax
accumulate blocks minor [subnet-url] [start index] [count] [tx fetch mode expand|ids|countOnly|omit (optional)] [filter synth-anchors only blocks true|false (optional)] Get minor blocks
Command
./accumulate blocks minor acc://bvn-bvn0 0 2
The above command will return an output similar to the following:
Sending tokens to multiheple destinations in the same transaction requires the tx execute command. This command is NOT set up to handle decimals. Therefore, the last 8 digits you include in the amount will be interpreted as decimals.
E.g. If you want to send 10.56 ACME, you must enter the amount as 1056000000
User can "send tokens" to multiple parties in a single transaction as follows
The above command will return an output similar to the following:
Transaction Hash : 0eb31c163d28d5ba6a6d049a31173d3470dc039a53dbe867c35c01a687b47776
Signature 0 Hash : a50215753c1d3a3d0978aae8e05c2e623be6570a9ca3da0edfb51f4e520d1078
Simple Hash : c6c5ed51cf4a2c6df64d6ca323fc15ce69b697fc7e1bdb7a00bffeec11b0707c
Error code : ok
Result :
Multiple updates to a key page
When a user wants to perform "update" operation on a key page and "add" a new key to a key page, he/she can perform both with a single transaction as follows
The above command will return an output similar to the following:
Transaction Hash : 20b1bd78b4776ab8defab7542fea5c04e13f6bff9222a20b13634d5622a7b6df
Signature 0 Hash : c80f19d9ee945f41ae595f55a84867c8cbc4eb9baf030ad4454f9cf0275cfe77
Simple Hash : 17d933a0dde79a71c6cfa2bf3c2495790aa8b6ce767c3f970f5596761caa1d5a
Error code : ok
Result :
To validate the transaction
./accumulate.exe get acc://automation9876542.acme/book/2
Credit Balance : 99.99
Index Nonce Key Name Delegate Public Key Hash
0 1969-12-31 19:00:00 -0500 EST key1 3ebc9b367208e1834afc5a9819ca6ab54d84e2a529a76267d02594f5fe118db0
1 1969-12-31 19:00:00 -0500 EST CustomKeymJbU 69614ac2db2b9cb07b86bbc6a451f7120e66b1d077f83b0b0e2f09a05258d66e
Multiple updates to a key page
When a user wants to perform multiple "updateAccountAuth" operation, he/she can perform them with a single transaction as follows