Catenis Flow Guide

Issue Asset Node

The “Issue Asset” node can be used to issue a specific amount of a new Catenis Smart Assets (tokens) to a virtual device that will hold the assets when issued. Assets are commonly referred to as tokens, both fungible and non-fungible tokens can be issued. These smart assets can be transferred between devices and also used as inputs to Smart contracts (robust business logic programs) you build in Catenis Flow.

Image of the Issue Asset Node

Node Properties Panel Field Description

Node property configuration slide-out panel (this panel is accessed by double-clicking on the node).

Properties Panel of the Issue Assets Node

Node-RED Specific Fields

  1. Name Field:  Add a descriptive name of your choice that will help differentiate this node from others of the same type on the Node-RED workspace (not required).
  2. Connection Field: This drop-down selection is required.  Set a previously configured Catenis connection (virtual device). If you need to configure a new virtual device click the pencil button to the right of the field and follow the direction on setting up a new virtual device that can be found here.

Catenis Flow Setting Fields

  1. Asset Name: Name the asset you will create
  2. Asset Description: Enter a description of the asset. If no description is needed, be sure to enter “null” in this field.
  3. Can Reissue: Indicate whether additional assets should be able to be created after the initial issue.
  4. Decimal Places: Indicates how many decimal places can be used to indicate a fraction of an asset (for example, you enter “2” in this field then the value 5.275 would be an invalid value for an asset, but 5.27 would be valid).
  5. Holding Device ID: Enter the device ID of the device that will hold the assets. If no specific device should hold it, enter “null”.
  6. Product Unique ID: If you have associated a unique name to your device (in your Catenis Administrative interface) and prefer to use the unique name instead of a device ID tick off this box and enter the unique name you call your device in the Device field instead of the device ID.

How to use

  1. Drag and drop this node from the Catenis Flow pallet area to the Node-RED workspace. Double-click it to display its properties slide-out panel.
  2. On the “Device” drop-down field of the properties slide-out panel, choose the Catenis virtual device you previously configured. The virtual device is a configuration node containing the Catenis Virtual device information (device ID and API Secret key). If you do not have a virtual device configured see the section titled: “Configure your first virtual device on Node-RED” 
  3. Add the node’s configuration information based on your needs to each field of the properties slide-out panel.  Please refer to the description of each field under the section named “Node Properties Panel Field Description” on proper usage.
  4. Wire this node to a debug node. 
  5. Next, drag and drop an “inject” node to the Node-RED workspace.
  6. Wire the “inject” node to the “Issue Asset” node, then double click the “inject” node to open its properties slide-out panel. 
  7. Alter the information in the “inject” node’s properties slide-out panel by selecting the drop-down “Payload” field and choose the “JSON” Type. An Ellipse button “…” will appear to the right of the field. Click this ellipse button to display a JSON edit box. 
  8. Enter the JSON information you wish to pass as input to the Catenis Node (an example JSON input is below). After entering your JSON text entry click the red Done button. Then click the Done button again to exit the properties dialogue box.
  9. Click the red Deploy button on the upper right-hand side of the Node-RED dashboard to deploy this flow.
  10. Now let’s test the flow: Click the button on the left attached to the “inject” node to send the input from the “inject” node to the flow.

Example JSON Object that can be passed to this node

    "assetInfo": {
        "name": "Test Asset",
        "description": "Test Asset used for demonstration",
        "canReissue": true,
        "decimalPlaces": 2
    "amount": 5,
    "holdingDevice": {
        "id": "dyRqBbvzozxGk6zuZavZ",
        "isProdUniqueID": false

Note: Inputs injected into this node via a JSON object containing alternate node properties will override the properties set on this node's slide-out properties panel.

Example Flow - Import Into Node-Red to Get Started

[{"id":"e18d7136.ccfa7","type":"inject","z":"d56047b4.816948","name":"","topic":"","payload":"{\"assetInfo\":{\"name\":\"Test Asset\",\"description\":\"Test Asset used for demonstration\",\"canReissue\":true,\"decimalPlaces\":2},\"amount\":5,\"holdingDevice\":{\"id\":\"enter your device ID here\",\"isProdUniqueID\":false}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":230,"y":120,"wires":[["5e1556d6.92ded8"]]},{"id":"5e1556d6.92ded8","type":"issue asset","z":"d56047b4.816948","name":"","device":"65b491ab.666c5","assetName":"","assetDescription":"null","canReissue":false,"decimalPlaces":"","holdingDeviceId":"null","isProdUniqueId":false,"x":450,"y":120,"wires":[["249b6536.e19eaa"]]},{"id":"249b6536.e19eaa","type":"debug","z":"d56047b4.816948","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":690,"y":120,"wires":[]},{"id":"4e63ae6a.8cddd","type":"comment","z":"d56047b4.816948","name":"Set virtual device for this Catenis node","info":"All Catenis nodes require that you set the proper virtual device on its slideout property panel on the device field.\n\nNot setting the device properly will result in a \"TypeError: Cannot read property 'ctnApiClient' of null\" ","x":450,"y":80,"wires":[]},{"id":"ff5c0ad1.bc81f8","type":"comment","z":"d56047b4.816948","name":"Double click for instructions","info":"Warning: You must enter your own device ID in the field holdingDevice.\n\nYou can also change the AssetInfo, Name and Description to one of your choosing.\n\n\n","x":210,"y":180,"wires":[]},{"id":"65b491ab.666c5","type":"catenis device","z":"","name":"Catenis Test Device 1","deviceId":"dL8zaQDcyNvxRW3FqsJd","apiAccessSecret":"2e080fe06bd9d6403639d8e7c8d4b518949fdbf1e76a651e29706135a98c73dc815ee7647f7cb9b5ae19b04010b32718f1b85aacdd281677aca7499eeb3275f7","host":"","environment":"sandbox","secure":true,"version":"","useCompression":true,"compressThreshold":""}]

Note: After importing this flow you will need to set the Catenis Flow node(s) in this flow to use a previously configured virtual devices. In addition, you will also need to configure the “Issue Asset” node with the holding device ID.

Related Articles

How can we make things Better for you?
  • Accepted file types: jpg, gif, png, pdf.
  • This field is for validation purposes and should be left unchanged.