Doc
Tutorial
API
Revision history
- 2018.6.8:modify startup path of mijin
- 2018.2.20:add confirmation of http
- 2017.9.27:modify timestamp number
- 2017.9:add explanation
- 2017.6:add explanation
- 2017.4:add explanation
- 2017.3:Initial version
Explanation of the setting files used with mijin.
The following ports are used as default with mijin.
The ports used other than the default ports are also shown below for your reference.
Port 7895 needs to be left open for communication among the nodes with mijin.
Mijin's port settings may be changed through following the procedure below.
# setting path, protocol, and port
nem.protocol = http
nem.host =
nem.httpPort = 7895
nem.httpsPort = 7896
nem.webContext = 7778
{
"endpoint": {
"host": "host number",
"port": 7895,
"protocol": "http"
},
"identity": {
"name": "arbitrary",
"public-key": "public key"
}
}
Install mijin on your server with the following procedure.
This file sets the host that administers Peer-to-Peer data exchange. The member node names and public-keys will be registered as the host, port, protocol and identity, and placed in all nodes. The hosts of the nodes will be registered as well.
{ "_info": "this file contains a list of all trusted peers and can be shared", "knownPeers": [ { "endpoint": { "host": "40.74.117.224", "port": 7895, "protocol": "http" }, "identity": { "name": "mijin1", "public-key": "838bb9202f1466e176edcd7093e84a602530c09b9f1ac72455b6f399cea3eb4e" } } { "endpoint": { "host": "52.187.5.62", "port": 7895, "protocol": "http" }, "identity": { "name": "mijin2", "public-key": "c952c6fa705511323b8f60097ab97093d0d862d335a1e8f597d6411d83cf01b2" } } { "endpoint": { "host": "13.88.24.92", "port": 7895, "protocol": "http" }, "identity": { "name": "mijin3", "public-key": "ef8576c0fdb6ffc9b6e4ae25d1efb9fa313ee4e7b12d87828cedbc9aed52e3fd" } } ] }
Key | explanation |
host | IP address |
port | normally use 7895 |
protocol | http or https ※ as of 2018.2.20, checked only http |
name | The name of the node.(arbitrary a set of alphabets) |
public-key | ノThe public key used to identify the node. |
When a new node is added, the setting data added to one of the member nodes will be read by all other nodes. After files are automatically updated, Peer-to-Peer data exchange will start.
This file sets the individual nodes.
Key | Explanation |
nem.shortServerName | server name |
nem.folder | place to put log and db file |
nem.maxThreads | thread pool setting(default: 500) this setting affects CPU and memory |
nem.protocol | telecommunication protocol(http or https) |
nem.host | IP address of host |
nem.httpPort | http port |
nem.httpsPort | https port |
nem.webContext | websocket port |
nem.apiContext | not use |
nem.homePath | not use |
nem.shutdownPath | /shutdown fixed |
nem.useDosFilter | DOS filter setting
|
nem.nonAuditedApiPaths | API allowed |
nem.network | mijinnet fixed |
nis.shouldAutoBoot | auto node startup |
nis.bootKey | node private key(node sets up as one account. need to set up private key of this account) |
nis.bootName | node name(arbitrary a set of alpjabets) |
nis.shouldAutoHarvestOnBoot | Automatically start harvesting or not when a node boot up |
nis.additionalHarvesterPrivateKeys | Private key for a node that would receive harvesting XEM |
nis.nodeLimit | The number of nodes with which a node broadcasts |
nis.timeSyncNodeLimit | The number of nodes with which a node synchronizes |
nis.useBinaryTransport | send binarydata after transactions |
nis.useNetworkTime | use timestamp of nis
|
nis.ipDetectionMode | Automatically detect IP address
|
nis.unlockedLimit | The number of harvest unlock accounts. If this number is large it will affect harvest |
nis.allowedHarvesterAddresses | Address to which harvest is permitted (pipe break) * In case of blank No restriction |
nis.maxTransactions | Maximum number of blocks shared by other nodes when creating a block |
nis.maxTransactionsPerBlock | Maximum number of transactions in one block |
nis.blockGenerationTargetTime | Interval time until the next block is generated (This setting is for calculating the difficulty level at the time of block creation, not by the set number of seconds.) |
nis.blockChainRewriteLimit | Maximum number of blocks to eliminate fork |
nis.additionalLocalIps | IP address of local node |
nis.transactionHashRetentionTime | Transaction hash retention time (-1 = permanent, minimum 36) |
nis.optionalFeatures | Node optional functions
|
nis.blockChainFeatures | Blockchain agreement formation (pipe break)
|
nis.delayBlockLoading | Whether or not block loading delay processing is performed |
nis.ignoreFees | Whether to make the transaction fee free (to make it free, set true for all nodes) |
When a new node is added, the setting data added to one of the member nodes will be read by all other nodes. After files are automatically updated, Peer-to-Peer data exchange will start.
The procedure to reboot mijin is as follows.
Please make sure to reboot mijin after changing the settings.
ps aux | grep java kill -9 process number // mijin boot up $ screen -S mijin -d -m /home/[account name]/mijin/startnem.sh or $ ./startnem.sh & or $ nohup ./startnem.sh &
Log data will be output at the information level to the location set by "nem.folder" in "config-user.properties".
* Normally, log data is placed in "/home/mijin/nem/nis/logs".
The blocks and transactions are stored in H2 Database.
The storing location is set by "nem.folder" in "config-user.properties" and the data is normally stored as "/home/username/nem/nis/data/nis5_mijinnet.h2.db".
When the synchronization of the blocks from other nodes is not performed for some reason, rename or delete the file above.
* After mijin is restarted, the blocks will be supplied from the other nodes and synchronization will be initiated.
The "timestamp" will be the network time with "nem" starting at zero.
The network time with "nem" starting at zero is highly recommended since mijin works properly only when the same network time is shared by the members. When replacing the network time with the current time, add1427587585and convert to date and time.
* When using the system timestamp, set "nis.useNetworkTime" in "config-user.properties" to "false".
The status of the server on which mijin is being run can be confirmed.
type | explanation |
1 | result |
2 | Heartbeat result |
4 | Status |
This is to confirm if NIS is in operation.
Example: http://< Host IP address>:7895/heartbeat
{ "code": 1, "type": 2, "message": "ok" }
This is to confirm the status of NIS.
Example:http://< host ip address>:7895/status
{ "code": 6, "type": 4, "message": "status" }
code | Explanation |
0 | unknown status |
1 | suspend |
2 | starting |
3 | runnnig |
4 | starting local node |
5 | running local node |
6 | synchronizing local node |
7 | The local node can not recognize the remote node |
8 | Block chain loading from database (request processing is not available during this discharge) |
Accounts are divided into two different types.
Ordinary accounts are generated with a secret key. Account signing requires the secret key.
If the secret key has been stolen, it means that the control of the account has been compromised. Therefore, key management is important.
These accounts are composed of multiple ordinary accounts.These accounts allow the initiation of desired actions with the signatures provided by multiple ordinary account signers.
Even if the key for a multisig account has been stolen, no action will be initiated unless multiple signatures are gathered.
Concerning accounts | |
---|---|
address | Each account is assigned a unique address. The length of the address is always 40 characters and is encoded in base32. |
balance | It is the balance of micro NEM. 123456789 means 123.456789 owns NEM. |
importance | Importance is assigned to each account. It is set between 0 and 1. The algorithm for calculating importance is private. |
publicKey | It is the public key assigned to the account. |
label | Currently it is unused. |
harvestedBlocks | It is the number of harvested blocks. |
Each account contains meter data below.
Account meta information | |
---|---|
status | It is the account harvest situation. |
remoteStatus | The harvest can be delegated to another account, and the delegate will be in the harvest situation. |
cosignatoryOf | It is the account information of the multi-sig account account signed. |
Each transaction contains the following information:
Information included in the transaction | |
---|---|
timeStamp | Number of seconds elapsed since the Nemesis block (the first block created) was created. Time stamp of future date and time is not accepted. We verify the timestamp when validating the transaction. |
signature | Transaction signature. We will verify with the signer's public key. |
fee | Transaction fee. The higher the fee, the higher the priority of the transaction. High priority transactions are included in the block before lower priority transactions. |
type | It are the transaction types below.
|
deadline | The deadline of the transaction. The nemesis block (the first block created) is returned in the number of seconds elapsed since creation. Transactions that were not included in the block after the deadline are deleted. |
version |
It is the version of the structure.
|
signer | The public key of the account that created the transaction. It is encoded as a hexadecimal string. |
Depending on the type of transaction, the following fields are added.
Additional field | |
---|---|
recipient | recipient address. |
message | Displayed when a message is attached to a transaction. |
payload | If the transaction contains a message, it stores the actual message. The maximum size of payload is 1024 bytes. |
type | Type of message (two types of settings are possible).
|
The following metadata is given to the transaction.
Transaction meta information | |
---|---|
height | The height of the block containing the transaction. |
id | Transaction ID. |
hash | Transaction hash. |
Harvest information is managed by the following fields.
Harvest information | |
---|---|
timeStamp | The number of seconds since the creation of the nemesis block. |
id | The ID of the block. |
difficulty | The difficulty of the block. |
totalFee | Total fee collected by harvesting blocks. |
height | The height of the harvested block. |
You can obtain the following information about the importance of account.
Account importance information | |
---|---|
address | Account address. |
importance | Structure showing the importance of the account (here isSet, score, ev, height). |
isSet | Are "score", "ev", "height" fields available? If it is 1, it is all usable. If it is 0, each field can not be used. |
score | Importance of the account. |
ev | Pager rank of importance. The page rank is assigned in the range between 0 and 1. |
height | The height of the block where importance was calculated. |
Create an account.
Example:http://< host ip address>:7895/account/generate
* To use this API, you need to add the IP address to be created in nis.additionalLocalIps in config.properties.
{ "privateKey": "00913ff9a33c48796a83051de0b6b6b43c5f97ca4cdab6d8x4790bb042cdecdfb2", "address": "MDOWXJUB5DGHD3PJ4M7LMXJ3YY4VFEZ2ZUFOYROK", "publicKey": "4dc790779f406642471b4ea303cf5e5153677476e771df93346fb07f81539f2c" }
Key | Description |
---|---|
privateKey | Private key of the account to be used on the block chain (used for creating electronic signatures, etc.) |
address | The address of the account to be used on the block chain |
publicKey | The public key of the account to be used on the block chain |
Acquire account information from account address.
Example:http://< host ip address>:7895/account/get?address=MDOWXJUB5DGHD3PJ4M7LMXJ3YY4VFEZ2ZUFOYROK
Parameters | Description |
address | address |
{ "meta": { "cosignatories": [], "cosignatoryOf": [], "status": "LOCKED", "remoteStatus": "INACTIVE" }, "account": { "address": "MDOWXJUB5DGHD3PJ4M7LMXJ3YY4VFEZ2ZUFOYROK", "harvestedBlocks": 0, "balance": 0, "importance": 0, "vestedBalance": 0, "publicKey": null, "label": null, "multisigInfo": {} } }
Key | Description |
---|---|
account | account information |
address | Account address |
harvestedBlocks | Number of harvested blocks |
balance | Account balance |
importance | Account importance |
vestedBalance | Account Balance (Confirmed) |
publicKey | The public key of the account (displayed when trading) |
label | Unused (null) |
multisigInfo | Multisig information |
meta | Account meta information |
cosignatories | If the account is a multi-sig account, account information registered as a signer |
cosignatoryOf | Multisig account information signed by this account |
status | Account harvest state |
remoteStatus | Harvest state in remote environment
|
Acquire account information from the account's public key.
example:http://< host ip address>:7895/account/get/from-public-key?publicKey=5c8127ef691b3f4c06811a15932869db917430593ae342156836cea6831a25b7
Parameters | Description |
publicKey | Account's public key |
{ "meta": { "cosignatories": [], "cosignatoryOf": [], "status": "LOCKED", "remoteStatus": "INACTIVE" }, "account": { "address": "MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE", "harvestedBlocks": 0, "balance": 0, "importance": 0, "vestedBalance": 0, "publicKey": "5c8127ef691b3f4c06811a15932869db917430593ae342156836cea6831a25b7", "label": null, "multisigInfo": {} } }
* The structure of the response result is the same as "/ account / get"
We will retrieve consigned account information from the account address.
example:http://< host ip address>:7895/account/get/forwarded?address=MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE
Parameters | Description |
address | Account address |
{ "meta": { "cosignatories": [], "cosignatoryOf": [], "status": "LOCKED", "remoteStatus": "INACTIVE" }, "account": { "address": "MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE", "harvestedBlocks": 0, "balance": 0, "importance": 0, "vestedBalance": 0, "publicKey": null, "label": null, "multisigInfo": {} } }
* The structure of the response result is the same as "/ account / get"
retrieve consigned account information from the account's public key.
example:http://< host ip address>:7895/account/get/forwarded/from-public-key?publicKey=bdd8dd702acb3d88daf188be8d6d9c54b3a29a32561a068b25d2261b2b2b7f02
Parameters | Description |
publicKey | Account's public key |
{ "meta": { "cosignatories": [], "cosignatoryOf": [], "status": "LOCKED", "remoteStatus": "INACTIVE" }, "account": { "address": "MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE", "harvestedBlocks": 0, "balance": 0, "importance": 0, "vestedBalance": 0, "publicKey": null, "label": null, "multisigInfo": {} } }
* The structure of the response result is the same as "/ account / get"
Acquire account information from account address.
example:http://< host ip address>:7895/account/status?address=MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE
Parameters | Description |
address | Account address |
{ "cosignatories": [], "cosignatoryOf": [], "status": "LOCKED", "remoteStatus": "INACTIVE" }
* The structure of the response result is the same as the meta information of "/ account / get"
Transaction information received by the account. Return up to 25 transactions included in the block chain.
example:http://< host ip address>:7895/account/transfers/incoming?address=MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE&hash=949583a20ebdfdcb58277eb42fef3e66e9e6bbfc47304d8741a82c68f7c53a2
Parameters | Description |
address | Account address (required) |
hash | Transaction hash (optional) |
id | Transaction ID (optional) |
{ "data": [ { "meta": { "innerHash": {}, "id": 11, "hash": { "data": "589e8ae35140279dbc88a5bdd81560d25ab6e81f5b9f9365402c7fd861579625" }, "height": 494 }, "transaction": { "timeStamp": 73970241, "amount": 3000000, "signature": "4cce8a1da26faed80b95d9ca223ee4f01ff21bbf40d1d64c845904d99219b680fbd92ccd4d4a78d973a626a77557f0853c36378433aba418a1ebadd998b8c80e", "fee": 0, "recipient": "MAENTDV3YWZZTWNAG7COHS3QNXQCJJQTUBF2MY2S", "type": 257, "deadline": 74030241, "message": {}, "version": 1610612737, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74" } } ] }
Key | Description |
---|---|
meta | Meta information of each transaction |
id | Transaction ID |
height | The height of the block containing the transaction |
hash | data: Transaction hash data |
transaction | Transaction details |
timeStamp | Transaction timestamp (number of seconds elapsed since creation of nemesis block) |
amount | Amount of micro NEM transferred from sender to recipient |
signature | Electronic signature of transaction |
fee | Transaction fee |
recipient | Recipient's address |
type | Transaction type (// below decimal number)
|
deadline | Transaction deadline (number of seconds since nemesis block creation) |
message |
|
version | mijin Network version
|
signer | トランザクションの署名者の公開鍵 |
Transaction information sent by the account. Return up to 25 transactions included in the block chain.
example:http://< host ip address>:7895/account/transfers/outgoing?address=MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE&hash=949583a20ebdfdcb58277eb42fef3e66e9e6bbfc47304d8741a82c68f7c53a22
Parameters | Description |
address | Account address (required) |
hash | Transaction hash (optional) |
id | Transaction ID (optional) |
{ "data": [ { "meta": { "innerHash": {}, "id": 12, "hash": { "data": "eb00f38e66feab7c71c1cac52f70592908a2ddeb943919a4354a897d50c82c23" }, "height": 499 }, "transaction": { "timeStamp": 73970313, "amount": 1000000, "signature": "bdc12c6d3a8cae96dde0537638f475fbb5f892241cc3e5a4b823aea4b773f2e3398568eb30443a4c9220102f762268eef5931a97e812fc18421ef8234b471306", "fee": 0, "recipient": "MCIDKKNJZGDQMYNAW6TFBTIXRKFUN5WE3MGCPNEW", "type": 257, "deadline": 74030313, "message": {}, "version": 1610612737, "signer": "cdb0e4ab9704432da1bce869d7d13642e33707bf9e7bbca926b7e8101efd7e6d" } } ] }
* The structure of the response result is the same as "/ account / transfers / incoming"
Transaction information on account transfers. Return up to 25 transactions included in the block chain.
example:http://< host ip address>:7895/account/transfers/all?address=MCAPKIBWA6IM4CUE4MGHEKOQBQWLEOQM37PV4CTE&hash=949583a20ebdfdcb58277eb42fef3e66e9e6bbfc47304d8741a82c68f7c53a22
Parameters | Description |
address | Account address (required) |
hash | Transaction hash (optional) |
id | Transaction ID (optional) |
{ "data": [ { "meta": { "innerHash": {}, "id": 12, "hash": { "data": "eb00f38e66feab7c71c1cac52f70592908a2ddeb943919a4354a897d50c82c23" }, "height": 499 }, "transaction": { "timeStamp": 73970313, "amount": 1000000, "signature": "bdc12c6d3a8cae96dde0537638f475fbb5f892241cc3e5a4b823aea4b773f2e3398568eb30443a4c9220102f762268eef5931a97e812fc18421ef8234b471306", "fee": 0, "recipient": "MCIDKKNJZGDQMYNAW6TFBTIXRKFUN5WE3MGCPNEW", "type": 257, "deadline": 74030313, "message": {}, "version": 1610612737, "signer": "cdb0e4ab9704432da1bce869d7d13642e33707bf9e7bbca926b7e8101efd7e6d" } }, { "meta": { "innerHash": {}, "id": 11, "hash": { "data": "589e8ae35140279dbc88a5bdd81560d25ab6e81f5b9f9365402c7fd861579625" }, "height": 494 }, "transaction": { "timeStamp": 73970241, "amount": 3000000, "signature": "4cce8a1da26faed80b95d9ca223ee4f01ff21bbf40d1d64c845904d99219b680fbd92ccd4d4a78d973a626a77557f0853c36378433aba418a1ebadd998b8c80e", "fee": 0, "recipient": "MAENTDV3YWZZTWNAG7COHS3QNXQCJJQTUBF2MY2S", "type": 257, "deadline": 74030241, "message": {}, "version": 1610612737, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74" } } ] }
* The structure of the response result is the same as "/ account / transfers / incoming"
Confirm transactions not included in account block.
example:http://< Host IP address>:7895/account/unconfirmedTransactions?address=MASM3LKYE6KJYHX5RII72UY5RZQNVH5EOKF6V4CZ
Parameters | Description |
address | Account address (required) |
{ "data": [ { "meta": { "data": "27e01e5c22fef40816bd3c6c28610df121a50b99526ce4fe16546e4b3f840850" }, "transaction": { "timeStamp": 73970515, "signature": "cb41d4dc91d6dafff1135badb9298ac26258c840aa3ca21f42bb661c14be7fb1f23786c13cd078ab9443cb3a6c4d4aaa56cacc3e3b8ad1011528b070b4c3a40e", "fee": 100000000, "type": 4100, "deadline": 73974115, "version": 1610612737, "signatures": [], "signer": "cdc06d4a01ecdab63585348c767ee0ae83bbe0eac14fa739a2fe2583c811c14f", "otherTrans": { "timeStamp": 73970515, "amount": 1000000, "fee": 100000000, "recipient": "MCZSFYJTHU4WUEBKFBNV7SSCC2TONXZR2AYUUSMF", "mosaics": [ { "quantity": 1, "mosaicId": { "namespaceId": "company", "name": "checked" } }, { "quantity": 100000000, "mosaicId": { "namespaceId": "nem", "name": "xem" } } ], "type": 257, "deadline": 73974115, "message": {}, "version": 1610612738, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74" } } } ] }
* The structure of the response result is the same as "/ account / transfers / incoming"
Account importance list.
example:http://< Host IP address>:7895/account/importances
{ "data": [ { "address": "MASMHHBO4JHSKSA7XMQCIXQRDVPH3Q6PTLNPAPP7", "importance": { "score": 0.1, "ev": 0, "isSet": 1, "height": 359 } }, { "address": "MASMHHBFKA24LNUNHCPDDZUO4YQTSXQUFBXNH52T", "importance": { "score": 0.1, "ev": 0, "isSet": 1, "height": 359 } }, { "address": "MAMIJINSVHBIPKT5XCFHJYGWL7WVRZQ6U7JG7LLN", "importance": { "isSet": 0 } }, { "address": "MASM5TN4UO4ZG22IRLTBDPO5HE74WXSFA4DTOT5Q", "importance": { "score": 0.1, "ev": 0, "isSet": 1, "height": 359 } }, { "address": "MASMHHC4277DD4RWRO4ZN5A3HVCLKLJTYEA76AOS", "importance": { "score": 0.1, "ev": 0, "isSet": 1, "height": 359 } } ] }
Key | Description |
---|---|
address | address |
importance | Information on importance |
score | Account importance (0 - 1) |
ev | Page Rank (0 - 1) |
isSet | 0 or 1。
|
height | The height of the block whose importance was calculated |
The namespace created by the account.
example:http://< Host IP address>:7895/account/namespace/page?address=MCIDKKNJZGDQMYNAW6TFBTIXRKFUN5WE3MGCPNEW&parent=mijin.metal
Parameters | Description |
address | Account address (required) |
parent | Parent namespace (optional) |
id | Name space ID (optional) |
pageSize | Namespace page number (optional) |
{ "data": [ { "owner": "MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR", "fqn": "company", "height": 62184 } ] }
Key | Description |
---|---|
fqn | Name space name (namespace ID) |
owner | Name space owner |
height | The height of the block in which the namespace was started |
Mosaic information created by the account.
example:http://< Host IP address>:7895/account/mosaic/definition/page?address=MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR&parent=mijin.metal.coins
Parameters | Description |
address | Account address (required) |
parent | Parent namespace (optional) |
id | Mosaic ID (optional) |
{ "data": [ { "creator": "fd5e60ae79d151b675e74f5efa3f72080a3d6658032e0e29a8ade645b2fd33cd", "description": "Check whether or not inspected", "id": { "namespaceId": "company", "name": "checked" }, "properties": [ { "name": "divisibility", "value": "0" }, { "name": "initialSupply", "value": "9000000000" }, { "name": "supplyMutable", "value": "false" }, { "name": "transferable", "value": "true" } ], "levy": { "fee": 1, "recipient": "MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR", "type": 1, "mosaicId": { "namespaceId": "nem", "name": "xem" } } } ] }
Key | Description |
---|---|
creator | Public key of mosaic creator |
id | Mosaic ID |
namespaceId | ID of the namespace |
name | Mosaic name |
description | Mosaic Description |
properties | Attributes of mosaic |
name | Mosaic attribute name |
value | Attribute value of mosaic |
Mosaic information that the account has.
exapmle:http://< Host IP address>:7895/account/mosaic/owned?address=MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR
Parameters | Description |
address | Account address (required) |
{ "data": [ { "quantity": 7607000324, "mosaicId": { "namespaceId": "nem", "name": "xem" } }, { "quantity": 7000000000, "mosaicId": { "namespaceId": "company", "name": "checked" } } ] }
Key | Description |
---|---|
mosaicId | Mosaic ID |
namespaceId | ID of the namespace |
name | Mosaic name |
quantity | モザイクの数量 |
Acquire history information of account.
example:http://bigalice3.nem.ninja:7890/account/historical/get?address=MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR&startHeight=17592&endHeight=17592&increment=1
* In order to use this API, you need to add HISTORICAL_ACCOUNT_DATA to nis.optionalFeatures in config.properties.
Parameters | Description |
address | Account address (required) |
startHeight | Block height (from) |
endHeight | Block height (up to) |
increment | Height of block to be incremented (Up to 1000 can be set) |
{ [ { "height": 17592, "address": "MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR", "balance": 509676000000, "vestedBalance": 100999147150, "unvestedBalance": 408676852850, "importance": 0.00008857563463531297, "pageRank": 0.0007605047835049349 } ] }
Key | Description |
---|---|
address | Account address |
pageRank | Pagerank |
balance | Account balance |
importance | Account importance |
vestedBalance | Account balance determinate |
unvestedBalance | Account balance undetermined minutes |
height | Block height |
Each node creates a block. The block contains transactions.
Each node validates the block of another node and synchronizes the block to its own block chain.
Every time timestamp is used, the commonly used network time is updated.
The block has the following data.
concerning block | |
---|---|
timeStamp | The time of the network on which the block was created. |
signature | The signature that created the block. |
prevBlockHash | The sha3-256 hash of the previous block is a hexadecimal character string. |
type |
Type of block.
|
transactions | Transaction structure |
version |
|
signer | The public key of the account that generated the block. |
height | Block height。 |
Get the height of the current block chain
example:http://< Host IP address>:7895/chain/height
{ "height": 42799 }
Key | Description |
---|---|
height | Block height |
Get the score of the current block chain. Higher scores result in better block chains, while other nodes acquire block chains with higher scores.
example:http://< Host IP address>:7895/chain/height
{ "score": "18722d5a7d590deb" }
Key | Description |
---|---|
score | ブロックのスコア |
Get the block of the latest block chain.
example:http://< Host IP address>:7895/chain/last-block
{ "timeStamp": 73971235, "signature": "63a4e50b967658aeb467fe49cb3453ade7f8095c0c66defa05cf07c05a489b098c156f680ac284fff3b16e90541d328f344dccbffa6520893d2b2f0de1455c0c", "prevBlockHash": { "data": "b3629fcfd24670d86f42762521ed5cd0729417952c6d20edcb926b5ce82c842e" }, "type": 1, "transactions": [], "version": 1610612737, "signer": "1ea5f20b3bbd03bfe118ecd1aea7d93f819ab100c3b7500b92959c9b79c1075c", "height": 563 }
Key | Description |
---|---|
timeStamp | Transaction (number of seconds elapsed since creation of nemesis block) |
signature | Block signer |
prevBlockHash | data : Hash value of previous block |
type | Block type
|
transactions | Array of transactions |
version | Version of block (1610612737 fixed as 4 byte integer) |
signer | The public key of the account that harvested the block |
height | Block height |
Nodes are the entities which exchange the data in the network and each node has an account assigned.
Each node has the assigned IP address, port and communication protocol used at the endpoint.。
The nodes have the following statuses.
About node status | |
---|---|
active | Communication possible normally |
inactive | A node that can not be connected |
busy | Nodes that do not respond within the time limit although they are connectable nodes |
failure | Node with serious error during communication (communication protocol is different, account is different, etc.) |
unknown | Unknown node |
For the node there are the following fields.
About nodes | |
---|---|
name | Node name |
public-key | The public key of the node |
protocol | Communication protocol |
host | Endpoint IP address |
application | Name of the application executing the node |
version | Application version |
platform | Name of the application executing the node |
Get node information.
example:http://< Host IP address>:7895/node/info
{ "metaData": { "features": 3, "application": null, "networkId": 96, "version": "0.6.84-BETA", "platform": "Oracle Corporation (1.8.0_141) on Linux" }, "endpoint": { "protocol": "http", "port": 7895, "host": "153.125.224.131" }, "identity": { "name": "mijin01", "public-key": "1ea5f20b3bbd03bfe118ecd1aea7d93f819ab100c3b7500b92959c9b79c1075c" } }
Key | Description |
---|---|
metaData | Node meta information |
features | Number of features the node has |
application | Application name |
networkId | Network ID |
version | Application version |
platform | OS, Java version |
endpoint | End point information |
protocol | protocol |
port | port |
host | host |
identity | End point information |
name | Node name |
public-key | The public key of the account that is running the node |
Gets detailed information on the node.
example:http://< Host IP address>:7895/node/extended-info
{ "node": { "metaData": { "features": 3, "application": null, "networkId": 96, "version": "0.6.84-BETA", "platform": "Oracle Corporation (1.8.0_141) on Linux" }, "endpoint": { "protocol": "http", "port": 7895, "host": "153.125.224.131" }, "identity": { "name": "mijin01", "public-key": "1ea5f20b3bbd03bfe118ecd1aea7d93f819ab100c3b7500b92959c9b79c1075c" } }, "nisInfo": { "currentTime": 73971489, "application": "NEM Deploy", "startTime": 73964662, "version": "0.6.84-BETA", "signer": null } }
Key | Description |
---|---|
nisInfo | Detailed information of the node |
currentTime | Time stamp on the current block chain (number of elapsed seconds since nemesis block was created) |
application | Application name where the node is running |
startTime | Application start time (elapsed seconds since nemesis block was created) |
version | Application version |
signer | Signer of digital signature used in application |
※ The "node" part of the response result is the same as "/ node / info"
Get information on all the neighbor nodes.
example:http://< Host IP address>:7895/node/peer-list/all
{ "inactive": [], "failure": [], "busy": [], "active": [ { "metaData": { "features": 0, "application": null, "networkId": 0, "version": "0.0.0", "platform": null }, "endpoint": { "protocol": "http", "port": 7895, "host": "81.224.224.156" }, "identity": { "name": "mijinnode1", "public-key": "838bb9202f1466e176edcd7093e84a602530c09b9f1ac72455b6f399cea3eb4e" } }, { "metaData": { "features": 1, "application": null, "networkId": 96, "version": "0.6.84-BETA", "platform": "Oracle Corporation (1.8.0_121) on Linux" }, "endpoint": { "protocol": "http", "port": 7895, "host": "81.224.224.157" }, "identity": { "name": "mijinnode2", "public-key": "c952c6fa705511323b8f60097ab97093d0d862d335a1e8f597d6411d83cf01b2" } } ] }
近接ノードでアクティブなノードの情報を取得します。
example:http://< Host IP address>:7895/node/peer-list/reachable
{ "data": [ "metaData": { "application": "NIS", "version": "0.4.33-BETA", "platform": "Oracle Corporation (1.8.0_25) on Windows 8" }, "endpoint": { "protocol": "http", "port": 7890, "host": "81.224.224.156" }, "identity": { "name": "Alice", "public-key": "a1aaca6c17a24252e674d155713cdf55996ad00175be4af02a20c67b59f9fe8a" }, ] }
※ The response result is the same as "/ node / info"
Get information on the selected node to broadcast the transaction.
example:http://< Host IP address>:7895/node/peer-list/active
{ "data": [ { "node": { "metaData": { "features": 3, "application": null, "networkId": 96, "version": "0.6.84-BETA", "platform": "Oracle Corporation (1.8.0_141) on Linux" }, "endpoint": { "protocol": "http", "port": 7895, "host": "27.133.131.154" }, "identity": { "name": "mijin01", "public-key": "442159366e13c9b899e53d4f0b64e6139910a6679fc30d6941e234de13f587e5" } }, "syncs": 26, "experience": { "s": 3, "f": 0 } }, { "node": { "metaData": { "features": 3, "application": null, "networkId": 96, "version": "0.6.84-BETA", "platform": "Oracle Corporation (1.8.0_141) on Linux" }, "endpoint": { "protocol": "http", "port": 7895, "host": "27.133.153.187" }, "identity": { "name": "mijin04", "public-key": "42bb164fc20ae290985c3dc865c9bd576a867271d1f891e2013e7d85279dabc3" } }, "syncs": 0, "experience": { "s": 4, "f": 0 } } ] }
※ The response result is the same as "/ node / info"
The closest node has the highest Block height
example:http://< Host IP address>:7895/node/active-peers/max-chain-height
{ "height": 43920 }
Key | Description |
---|---|
height | The highest Block height |
It keeps the experience value exchanged when exchanging between nodes internally. Get the experience value of the node from another node.
example:http://< Host IP address>:7895/node/experiences
{ "data": [ { "node": { "metaData": { "features": 3, "application": null, "networkId": 96, "version": "0.6.84-BETA", "platform": "Oracle Corporation (1.8.0_141) on Linux" }, "endpoint": { "protocol": "http", "port": 7895, "host": "27.133.131.154" }, "identity": { "name": "mijin01", "public-key": "442159366e13c9b899e53d4f0b64e6139910a6679fc30d6941e234de13f587e5" } }, "syncs": 712, "experience": { "s": 86, "f": 0 } }, { "node": { "metaData": { "features": 3, "application": null, "networkId": 96, "version": "0.6.84-BETA", "platform": "Oracle Corporation (1.8.0_141) on Linux" }, "endpoint": { "protocol": "http", "port": 7895, "host": "27.133.154.6" }, "identity": { "name": "mijin02", "public-key": "f7321ebe78dc09dac511893984ac1e194dfcffa3c3c3224192156ee94c304780" } }, "syncs": 792, "experience": { "s": 70, "f": 0 } }, { "node": { "metaData": { "features": 0, "application": null, "networkId": 0, "version": "0.0.0", "platform": null }, "endpoint": { "protocol": "http", "port": 7895, "host": "153.125.224.131" }, "identity": { "name": "mijin03", "public-key": "1ea5f20b3bbd03bfe118ecd1aea7d93f819ab100c3b7500b92959c9b79c1075c" } }, "syncs": 0, "experience": { "s": 0, "f": 0 } } ] }
Key | Description |
---|---|
syncs | Number of synchronizations with remote node |
experience | Experience value of node |
s | Normal communication with remote node |
f | Normal communication with remote node |
※ The "node" part of the response result is the same as "/ node / info"
Using the namespace, you can publish your own coins.
A namespace can use only one name.
The namespace string is 16 characters in the root namespace, and the sub namespace is 64 characters.
The namespace string is 16 characters in the root namespace, and the sub namespace is 64 characters. The namespace is limited to characters beginning with an alphabet.
"Nem, user, account, org, com, biz, net, edu, mil, gov and info." is disabled.
Up to 3 namespaces can be created.
Get the top level namespace.
example:http://< Host IP address>:7895/namespace/roots?id=26754&pageSize;=35
Parameters | Description |
id | heighest ID of the namespace |
pagesize | Number of objects in the returned namespace (option) * The default value is 25, the minimum value is 5, the maximum value is 100 |
{ "data": [{ "meta":{ "id":26264, }, "namespace":{ "fqn": "mijin.metal.coins", "owner": TD3RXTHBLK6J3UD2BH2PXSOFLPWZOTR34WCG4HXH", "height": 13465 } },{ "meta":{ "id":25421, }, "namespace":{ "fqn": "gimre.vouchers", "owner": TDGIMREMR5NSRFUOMPI5OOHLDATCABNPC5ID2SVA", "height": 12392 } }] }
Key | Description |
---|---|
meta | Name space meta information |
id | Name space ID |
namespace | Name space information |
fqn | Name space name |
owner | Name space owner |
height | Block height when acquiring ownership |
Retrieve the information of the specified namespace.
example:http://< Host IP address>:7895/namespace?namespace=mijin.metal.coins
Parameters | Description |
namespace | Name space name |
{ "owner": "MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR", "fqn": "company", "height": 62184 }
※ The response result is the same as "namespace" in "/ namespace / root / page"
Mosaics are the definitions to circulate the original cryptocurrency.
Mosaics are required to belong to the root namespaces.
Mosaic names can be composed of 32 characters at maximum.
Only use English letters for the first character of the mosaic.
The following properties can be set.
property | Description |
mosaic id | Mosaic name. Up to 32 characters. |
description | description. Up to 512 characters. |
properties | The following configurable properties |
initialSupply | Initial sharing volume. Default 1000. Up to 9 million |
divisibility | The setting of how many decimal places can be divided. 3, it can be divided up to 0.001. |
supplyMutable | Possibility to change supply quantity of mosaic. true or false. |
transferable | Whether the defined mosaic can be transferred to other than the creator. The default value is true. |
levy | Mosaic remittance charge setting |
fee type | It can be set with two types below.
|
recipient | Commission recipient |
mosaic id | Mosaic name paid as a commission. |
fee | fee. |
Gets the information of the specified mosaic.
example:http://< Host IP address>:7895/namespace/mosaic/definition/page?namespace=mijin.metal.coins
Parameters | Description |
namespace | Name space name |
id | Top Mosaic ID (optional) |
pagesize | Number of mosaic objects to return (optional) |
{ "data": [ { "meta": { "id": 2 }, "mosaic": { "creator": "fd5e60ae79d151b675e74f5efa3f72080a3d6658032e0e29a8ade645b2fd33cd", "description": "Whether or not inspected", "id": { "namespaceId": "company", "name": "checked" }, "properties": [ { "name": "divisibility", "value": "0" }, { "name": "initialSupply", "value": "9000000000" }, { "name": "supplyMutable", "value": "false" }, { "name": "transferable", "value": "true" } ], "levy": { "fee": 1, "recipient": "MBEBZWDRMPMZ7TYLVWOH63JZVC5FKR5I464F5HCR", "type": 1, "mosaicId": { "namespaceId": "nem", "name": "xem" } } } } ] }
※ The response result is the same as "/ account / mosaic / definition / page"
A transaction means remittance (asset transfer) from one account to another. The transactions will be pooled in the system as "unconfirmed" at first. The transactions will be processed, and remittance (asset transfer) will be initiated when the transactions are included into a block.
The blockchain often forks (branches off). After forking, the blockchain rolls back to cancel the forks. The maximum number of blocks which can roll back has been set to 360 as the initial default.
Transactions can be generated through the following two methods.
{"data": "01010000010000604781b90320000000462ee976890916e54f…0000000000000000000000000000000000000000000000000", "signature": "8584d64446316cafbfa6ea92b772a21cdcb18b72b36ae5f91f…d8605c09c06a3faf905f02de8b68b1069e49e631382c70a09"}
The difference between method 1 and method 2 is that method 1 does not allow the secret key of the transaction generator to be exposed in the network, whereas method 2 allows the secret key of the transaction generator to be exposed in the network.
When method 2 is employed, it is highly recommended to perform the POST transmission within the server rather than performing POST transmission directly from the client side.
This will generate the transaction with "data" created from the serialized JSON structure and electronic signature.
This will generate the transaction from the JSON structure selected.
Retrieve the transaction from the hash value.
example:http://< Host IP address>:7895/transaction/get?hash=949583a20ebdfdcb58277eb42fef3e66e9e6bbfc47304d8741a82c68f7c53a2
Parameters | Description |
hash | Transaction hash |
A transaction will be generated by forming the JSON structure with the contents of the input form in accordance with the intended purpose and calling "transaction/prepare-announce".
The following are the JSON structures according to purpose.
This is the JSON structure used to make a remittance (asset transfer) from one account to another.
{ "transaction": { "timeStamp": 73986093, "amount": 100, "fee": 0, "recipient": "MAENTDV3YWZZTWNAG7COHS3QNXQCJJQTUBF2MY2S", "type": 257, "deadline": 73989693, "message": { "payload": "", "type": 1 }, "version": 1610612737, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74" }, "privateKey": "dd214532115faa938e2982ef0b6a743b2b421fdfx20337b8d05da006235864722" }
JSON structure for transferring money from one account to one account. Mosaic can also be remitted in version 2.
{ "transaction": { "timeStamp": 73987329, "amount": 1000000, "fee": 0, "recipient": "MCIDKKNJZGDQMYNAW6TFBTIXRKFUN5WE3MGCPNEW", "type": 257, "deadline": 73990929, "message": { "payload": "", "type": 1 }, "version": 1610612738, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74", "mosaics": [ { "mosaicId": { "namespaceId": "company", "name": "checked" }, "quantity": 2 }, { "mosaicId": { "namespaceId": "nem", "name": "xem" }, "quantity": 0 } ] }, "privateKey": "dd214532115faa938e2982ef0b6x2743b2b421fdf90337b8d05da006235864722" }
Key | Description |
timeStamp | Time stamp (time since the nemesis block was created) |
amount | Remittance fee |
fee | fee |
recipient | recipient account address |
type | 257(固定) |
deadline | Deadline of transaction |
message | Used to send messages |
payload | Message (up to 1024 bytes) |
type | Whether to encrypt the message
|
version | Network version (fixed to 1610612737) |
signer | The public key that created the transaction |
mosaics | Mosaic object |
mosaicId | Mosaic ID |
namespaceId | Mosaic's namespace |
name | Mosaic name |
quantity | Amount of mosaic to be remitted (In case of 3 divisions, remittance in milliseconds possible) |
privateKey | Sender's private key |
The multisig account is the account to generate mutisig transactions and is created by the involvement of multiple signers.
When generating a mutisig transaction which requires the signatures of three signers, it is required to create a multisig account using the public keys of three signers involved and then initiate remittance (asset transfer) to the account created.
{ "transaction": { "timeStamp": 73987491, "deadline": 73991091, "fee": 0, "type": 4097, "version": 1610612737, "modifications": [ { "modificationType": 1, "cosignatoryAccount": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74" }, { "modificationType": 1, "cosignatoryAccount": "cdc06d4a01ecdab63585348c767ee0ae83bbe0eac14fa739a2fe2583c811c14f" }, { "modificationType": 1, "cosignatoryAccount": "ed664e20a3b721f6c798d4cf48d74c4b35363cdb438aad8b2485a678adf42185" }, { "modificationType": 1, "cosignatoryAccount": "bc8bc985c790a4187188f240a2a0feecaa93ae48203df24d99799c6729798d66" }, { "modificationType": 1, "cosignatoryAccount": "a29e61009f13d4818072b95c3fab0648692095557403dde7c6b198cd9f7810c4" } ], "minCosignatories": { "relativeChange": 5 }, "signer": "bc97d0365b67c56cc05ecea06f82ac80510e62a93237ba32777dcfc0c12d96a7" }, "privateKey": "6ad7fad521b316c6cddf4ab939fa28c977ba6d31x9b63ba34426a82186d29d28" }
Key | Description |
modificationType | マルチシグ署名者の追加 or 削除
|
cosignatoryAccount | 署名者のアカウント公開鍵 |
Any one of the mutisig account signers can generate mutisig transactions.
{ "transaction": { "timeStamp": 73988038, "fee": 0, "type": 4100, "deadline": 73991638, "version": 1610612737, "otherTrans": { "timeStamp": 73988038, "amount": 1000000, "fee": 0, "recipient": "MAENTDV3YWZZTWNAG7COHS3QNXQCJJQTUBF2MY2S", "type": 257, "deadline": 73991638, "message": { "payload": "", "type": 1 }, "mosaics": [ { "mosaicId": { "namespaceId": "company", "name": "checked" }, "quantity": 1 }, { "mosaicId": { "namespaceId": "nem", "name": "xem" }, "quantity": 0 } ], "signer": "bc97d0365b67c56cc05ecea06f82ac80510e62a93237ba32777dcfc0c12d96a7", "version": 1610612738 }, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74" }, "privateKey": "dd214532115faa938e2982ef0b6a743b2b477fdf90337b8d05da006235864722" }
This is the transaction to sign a multisig transaction.
{ "transaction": { "timeStamp": 73988363, "fee": 0, "type": 4098, "deadline": 73991963, "version": 1610612737, "signer": "ed664e20a3b721f6c798d4cf48d74c4b35363cdb438aad8b2485a678adf42185", "otherHash": { "data": "c1484373c099c91fb4fcdb9bc4aae020360e96911f9526d381a3494599b4baf3" }, "otherAccount": "MCPW6EIDKATNYBQOCJM266CNTI22WHW7IDIF5Y7E" }, "privateKey": "a8207ae07e71e16c1a6c985669804b1f1c980ddd794d2627e00a88d8a46c0c32" }
This is the transaction to add or delete a multisig account signer.
{ "transaction": { "timeStamp": 9111526, "fee": 6000000, "type": 4100, "deadline": 9154726, "version": 1610612737, "signer": "6083df7119d43e815ed2967c795f806f6b73f8f92a56a7611e3848816ec50958", "otherTrans": { "timeStamp": 9111526, "fee": 16000000, "type": 4097, "deadline": 9154726, "version": 1610612737, "signer": "a1aaca6c17a24252e674d155713cdf55996ad00175be4af02a20c67b59f9fe8a", "modifications": [ { "modificationType": 1, "cosignatoryAccount": "6c66ea288522990db7a0a63c9c20f532cdcb68dc3c9544fb20f7322c92ceadbb" } ], "minCosignatories" : { "relativeChange": 1 } }, "signatures":[ ] }, "privateKey": "00be34fdb20a9f6fed51376f0bab9f25ea7b78d610324588a6b203d0a1a6db4bc1" }
This is to generate a namespace.
{ "transaction": { "timeStamp": 73986205, "fee": 0, "type": 8193, "deadline": 73989805, "rentalFeeSink": "MAMESPACEWH4MKFMBCVFERDPOOP4FK7MTCZTG5E7", "rentalFee": 5000000000, "newPart": "company", "parent": null, "version": 1610612737, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74" }, "privateKey": "dd214532115faa938e2982ef0b6a743b2b421fdfpx337b8d05da006235864722" }
Key | Description |
timeStamp | time |
fee | fee |
type | 8193(fixed) |
deadline | Transaction expiration date |
version | 1610612737(fixed) |
signer | Author's public key |
rentalFeeSink | Account address to which rental fee is paid out (MAMESP - ACEWH 4 - MKFMBC - VFERDP - OOP 4 FK - 7 MTCZT - G 5 E 7 fixed) |
rentalFee | rental fee |
newPart | Name space name |
parent | parent Name space name |
This is to generate a mosaic.
{ "transaction": { "timeStamp": 73986393, "fee": 0, "type": 16385, "deadline": 73989993, "version": 1610612737, "signer": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74", "creationFee": 5000000000, "creationFeeSink": "MBMOSAICOD4F54EE5CDMR23CCBGOAM2XSKYHTOJD", "mosaicDefinition": { "creator": "c48850b863c2fe13066a8aed308da9b4d897e62ef8d81ae5bc04ff85bfb31a74", "description": "For inspection check", "id": { "name": "checked", "namespaceId": "company" }, "levy": { "fee": 0, "mosaicId": { "name": "xem", "namespaceId": "nem" }, "recipient": "MASM3LKYE6KJYHX5RII72UY5RZQNVH5EOKF6V4CZ", "type": 1 }, "properties": [ { "name": "divisibility", "value": "0" }, { "name": "initialSupply", "value": "900000000" }, { "name": "supplyMutable", "value": "false" }, { "name": "transferable", "value": "true" } ] } }, "privateKey": "dd214532115faa938e2982ef0b6a743b2b421fdf90x37b8d05da006235864722" }
Key | Description |
timeStamp | time |
fee | fee |
type | 16385(固定) |
deadline | Transaction expiration date |
version | 1610612737 (fixed) |
signer | Author's public key |
creationFee | fee |
creationFeeSink | fee transferred address (※ MBMOSA - ICOD4F - 54EE5C - DMR23C - CBGOAM - 2XSKYH - TOJD fixed) |
mosaicDefinition | Definition of mosaic |
creator | Public key of mosaic definer |
id |
namespaceId ... Corresponding namespace name ... Definition name of mosaic |
description | Description of mosaic |
properties | Definition of mosaic |
divisibility | The smallest subunit that can divide the mosaic |
initialSupply | Number of mosaics to be created first (up to 9 million) |
supplyMutable | Whether supply amount can be changed (true or false) |
transferable | Whether it can be transferred to other than mosaic creator (true or false) |
levy | Fee setting during mosaic transfer |
type |
|
recipient | fee Recipient's address |
mosaicId | Mosaic to collect as fee namespaceId ... namespace name ... Mosaic name |
To change the definition of mosaic, you can do with the same JSON structure as creating a mosaic.
However, it is the Description (description) part that can be changed, and if you change the property you must own all of that mosaic.
If the created mosaic is unsent, you can change the mosaic supply with the same json structure as creating a mosaic.