multichain v1.0.0 Multichain.Super

This module combine basic Multichain api to perform common tasks, such as create address and sending asset using external keypairs.

This function collection also contain handy function which used by Finance admin such as issue asset, reissue asset, block an address, etc.

Link to this section Summary

Functions

This function is used to revoke send permission of a particular address

This is a helper function to check whether an address have send permission or not

This function will return a keypair which address is imported to the node as watch only address. This is used if you want to generate address which node cannot have control of it

This function generate internal address which can be used without private key. This will also give send and receive permission to the address

This is a helper to publish a string into existing stream

This is a helper to get value from a stream

This is a helper to grant_send and receive to particular address

This function will return all address watched by this node but not belong to node’s wallet, which means we cannot transfer any asset unless we know the private key

This function will return all address manage and owned by this node

This function will reissue another quantity from existing assets

This is a helper to publish a string into existing stream

This function top up any code from primary Node’s wallet. Also the address which usually have issue permission

This function is used to transfer asset from internal address

This function is used to transfer asset from external address, owning the private key

This function is used to give send permission to address which previously has been blocked

This function will return a list of all address who have issue permission

Link to this section Functions

This function is used to revoke send permission of a particular address.

Link to this function blockstatus(address)

This is a helper function to check whether an address have send permission or not.

You can unblock (give send permission) by using unblock/1

Link to this function create_external_address()

This function will return a keypair which address is imported to the node as watch only address. This is used if you want to generate address which node cannot have control of it.

Having this kind of address, only you as private key owner can spent the asset in it. The node doesn’t store your private key and once you saw it it will never appear again. So ensure you record your private key somewhere secure.

This kind of address transfer security responsibility to you instead of the node server. The security of private key is handled externally.

Link to this function create_internal_address()

This function generate internal address which can be used without private key. This will also give send and receive permission to the address.

If you want to create address without permission you can use Multichain.api("getnewaddress", [])

Link to this function get_stream_data(stream, txid)

This is a helper to publish a string into existing stream.

It will return {:error, reason} or {:ok, transaction_hex}.

You can unblock (give send permission) by using unblock/1

Link to this function get_stream_data!(stream, txid)

This is a helper to get value from a stream

It will return {:error, reason} or {:ok, transaction_hex}.

You can unblock (give send permission) by using unblock/1

Link to this function grant_send_receive(address)

This is a helper to grant_send and receive to particular address.

Link to this function list_external_address()

This function will return all address watched by this node but not belong to node’s wallet, which means we cannot transfer any asset unless we know the private key

If you want to see all address which can be used without private key, use list_internal_address/0

Link to this function list_internal_address()

This function will return all address manage and owned by this node.

If you want to see all address watched by this node but owned by external, use list_external_address/0

Link to this function publish_stream(addr, streamname, key, value, privkey)

This is a helper to publish a string into existing stream.

It will return {:error, reason} or {:ok, transaction_hex}.

You can unblock (give send permission) by using unblock/1

Link to this function topup(address, assetcode, qty)

This function top up any code from primary Node’s wallet. Also the address which usually have issue permission.

Link to this function transfer(assetcode, from, to, qty)

This function is used to transfer asset from internal address.

If the address is exist on list_internal_address/0 then we can use this function to transfer asset.

Link to this function transfer(assetcode, from, to, qty, privkey)

This function is used to transfer asset from external address, owning the private key.

If the key is handled externally, you can transfer asset from one address to another using this method. If it is internal address, use transfer/3 instead.

Link to this function unblock(address)

This function is used to give send permission to address which previously has been blocked.

Link to this function who_can_issue()

This function will return a list of all address who have issue permission.

This address can issue any new asset.