The I/O Digital Blockchain can store data up to 2 mb per block, attach a file (any kind of file, string, hash) to an alias (DIONS name), transfer that alias to another user and facilitate a secure messaging system.
Please be sure to read our full whitepaper explaining all the details and possibilities.
This new whitepaper explains all DIONS (live) features with diagrams supporting the features.
To access the I/O Coin Blockchain you need to download the latest files from Github and synchronize the full Blockchain. Blockchain files for faster sync are provided in Github. To use the available features you should have some IOC in your wallet to pay for the services.
The IOC you pay for the data services will be redistributed to the active stakers in the network.
If you need assistance or want to share your ideas, thoughts and solutions, please connect to our Telegram Developer Channel
iocoind getinfo
Prints various information about the node and the network.
getinfo { "version" : "v5.0.0.0-g6b2edb9", "protocolversion" : 60021, "walletversion" : 60000, "balance" : 0.51830000, ... }
iocoind help
Lists all available public RPC commands.
help [ "addmultisigaddress", "addredeemscript", "addresstodion", "alias", ... ]
iocoind getblockcount
Get the current, latest synced, block.
getblockcount 1741667
iocoind getnumblocksofpeers
Get the latest block number from the blockchain.
getnumblocksofpeers 1820020
iocoind myrsakeys
Get a list of available wallet addresses and aliasses attached to it.
myrsakeys [ { "address" : "iVEcVcbaNGf755dYPsR1eKnAzZhdcmbepK", "alias" : "NONE" }, { "address" : "ipFAdkYm9JD3UsoFCfUnCqHvKdGkDkDHsr", "alias" : "dennuz666" }, ...
iocoind checkwallet
Get the ‘health status’ of the wallet. If you are missing coins or a RPC gone wrong you can check the status here.
checkwallet { "mismatched spent coins" : 2, "amount in question" : 0.49830000 }
iocoind repairwallet
If wallet check fails (gives an error status) you can try repair the wallet with this RPC.
repairwallet { "mismatched spent coins" : 2, "amount affected by repair" : 0.49830000 }
iocoind walletlock
Lock the wallet.
walletlock
iocoind walletlockstatus
Get the lock status of the wallet.
walletlockstatus { "isEncrypted" : true, "isLocked" : true }
iocoind walletpassphrase password timeout [stakingonly]
Stores the wallet decryption key in memory for ‘timeout’ seconds. If staking only is true sending functions are disabled.
Parameters | |
---|---|
Required parameters | |
Wallet decryption key |
string |
timeout (seconds) |
int |
Optional parameters | |
Staking only |
boolean |
walletpassphrase y0urK3y 360
iocoind sendtoaddress ifURRvG6asxQJauo9G8gGEfqnbYKzq3UYK 0.01
Needs an unlocked wallet to work. Returns the transaction id.
Parameters | |
---|---|
Required parameters | |
address |
string |
amount |
float |
iocoind sendtoaddress ifURRvG6asxQJauo9G8gGEfqnbYKzq3UYK 0.01 0888249e7b33086a86adebbd28519eb05e960c9409fdfc62340323ecfa5ea8d0
iocoind alias "alias"
Registers a new encrypted alias and returns the transaction id. The alias remains valid at the time of writing for 210000 blocks from any given update. Data fees
are currently 0.01 IOC minimum plus 0.01 IOC for every 1Kb.
Parameters | |
---|---|
Required parameters | |
alias |
string |
alias "my alias" [ "aa5d7b8d74d9e69ef4d029dd12fe635bed91f388e3c026d10b8fc1715f925108" ]
iocoind decryptAlias "alias" "associated_address"
Decrypt an alias with associated key address. You can get the associated address by using the statusList RPC. Data fees for decypting an alias are currently 0.01 IOC.
Parameters | |
---|---|
Required parameters | |
alias |
string |
associated_address |
string |
decryptAlias "myaliastodecrypt" ipmPfW87XWUGEGufivjfHxd1VWed35hfCG 7c63ebf7ed21a8583819b2f581f72d2bd7949f3d379537193d37d7013478a142
iocoind updateEncrypt "alias" "file_path"
The updateEncypt command associates data with the given (encrytped) alias. The data is extracted, compressed and encrypted on the blockchain using AES 256 encryption. You can check the encrypted status (boolean) of an alias in the wallet or use the ‘statusList’ command in the daemon. Data fees are currently 0.02 IOC.
Parameters | |
---|---|
Required parameters | |
alias |
string |
file_path |
string Local device path to the file. |
updateEncrypt myalias C:\Users\username\Desktop\test.txt fade2f2c3bb2e2d0877266bd119e89fff73f841a96dff4c405cc7fbc25f477d6
iocoind downloadDecrypt "alias" "file_path"
Downloading data is possible in two ways. You can download data by alias, just like you uploaded it. After an alias is expired (see ‘Alias Registration’ for more info about expiration) you can then download data with the private key from the expired alias with the ‘downloadDecryptEPID’ command. You can get the address of an alias by using the statusList RPC.
Parameters | |
---|---|
Required parameters | |
alias |
string |
file_path |
string Local device storage path to save the file. |
downloadDecrypt myalias C:\Users\username\Desktop\test.txt true
iocoind downloadDecryptEPID "address" "file_path"
Parameters | |
---|---|
Required parameters | |
address |
string |
file_path |
string Local device storage path to save the file. |
downloadDecryptEPID ib388VZfBNnbrJv86PVXeeUwAF8BZdKKGs C:\Users\username\Desktop\test.txt true
iocoind transferAlias "alias" "target"
Transfer a given alias to the target address or alias. Data fees are currently 0.01 IOC.
Parameters | |
---|---|
Required parameters | |
alias |
string |
target |
string Target alias or address. |
transferAlias myaliastodecrypt ikQHhA73EnmBsoV7ZBxrZYzPK5WtAM9UXR
transferAlias myaliastotransfer targetalias
iocoind transferEncryptedAlias "alias to transfer" "alias address to transfer" "target wallet address"
Transfer an encrypted alias over a channel. You can get the alias address by using the statuslist command. Data fees are currently 0.02 IOC.
Parameters | |
---|---|
Required parameters | |
alias |
string |
address |
string The address of the alias. |
address |
string Target wallet address. |
transferEncryptedAlias myalias iWTgoUFgAyBCbAfbLB9qXQBn1RsHhHrWir ikQHhA73EnmBsoV7ZBxrZYzPK5WtAM9UXR fade2f2c3bb2e2d0877266bd119e89fff73f841a96dff4c405cc7fbc25f477d6
iocoind sendPublicKey "address" "address"
To send or receive an alias users would have to send an invite From Public alias (A) to Public alias (B) as in an rsa key exchange. This would initiate an encrypted tunnel, giving the ability to transfer aliases, but also initiate messaging between users.
Parameters | |
---|---|
Required parameters | |
address |
string The address of the local alias. |
address |
string The address of the target alias. |
sendPublicKey ipFAdkYm9JD3UsoFCfUnCqHvKdGkDkDHsr ifURRvG6asxQJauo9G8gGEfqnbYKzq3UYK [ "253fce5a099fe97322fcb39d6f5028a509d76405fea6852ac2d37cd5926ebc9f",< "IH4+eeUgKHqElWBfk9OH5rEwHA2T8a+iuPqmDgKmmGgBO4QmEHXwBf7Rub4bATf1yXjX31rbQXe2dm2A47oDKB8=" ]
iocoind statusList ["alias"]
List all I/O Coin addresses that have RSA key pairs associated with them. You can check the status of an alias with this command by adding the optional alias parameter. The wallet needs to be unlocked.
Parameters | |
---|---|
Optional parameters | |
alias |
string optional paramter only for unencrypted aliasses. |
statusList myalias ]{ "alias" : "myalias", "encrypted" : "true", "address" : "iWmHymK9bDSQeAJmoFzafwiMRPbjyfHDfC", "nHeigt" : 1733471, "expires_in" : 209729, "xtuVector" : "transform" }]
iocoind sendMessage "from address" "message" "to address"
Send an encrypted message over an established channel. Read Send Public Key for setting up an established channel.
Parameters | |
---|---|
Required parameters | |
from address |
string The address of the local alias. |
message |
string The message to send. |
to address |
string The address of the target alias. |
sendMessage ipFAdkYm9JD3UsoFCfUnCqHvKdGkDkDHsr "Test" ifURRvG6asxQJauo9G8gGEfqnbYKzq3UYK fade2f2c3bb2e2d0877266bd119e89fff73f841a96dff4c405cc7fbc25f477d6 }]
iocoind decryptedMessageList
List the received encrypted messages. Encrypted messages are locally decrypted for viewing in plain text. Needs an unlocked wallet.
decryptedMessageList [{ "sender" : "ipFAdkYm9JD3UsoFCfUnCqHvKdGkDkDHsr", "recipient" : "ifURRvG6asxQJauo9G8gGEfqnbYKzq3UYK", "encrypted_message" : "Klt7ch/FyubdWlGG6Jj1Xg==", "time" : "2018-04-12 05:20:48 UTC", "plain_text" : "Test", "iv128Base64" : "vlYaWjucdK3aOtZGjZsK2g==", "signature" : "H0ZJ43IefH6LeKzrLMiBMrfdQvnXSC013czsbAWF3NrbJIwVNL4+qdBLf5KCGVPBIVcjjqlVsNSFfipy0jD85+0=" }]
Any project can start developing and using the IOC Blockchain for their project. The below projects are in development by external teams.
Want your project listed? Contact us.