@chaintelligence/node-red-contrib-tezos

Nodes to interact with the Tezos blockchain

Usage no npm install needed!

<script type="module">
  import chaintelligenceNodeRedContribTezos from 'https://cdn.skypack.dev/@chaintelligence/node-red-contrib-tezos';
</script>

README

Tezos logo

node-red nodes for Tezos

Tezos is an open-source blockchain for assets and applications that can evolve by upgrading itself. Stakeholders govern upgrades to the core protocol, including upgrades to the amendment process itself.

This package provides the following node-red nodes to interact with the Tezos blockchain:

  • transfer
  • originate
  • call-contract
  • generate-keys
  • get-contrat
  • confirm

The RPC provider is set in the configuration panel of the nodes.

transfer

Transfers Tezis from an account to another.

Parameter Desc Msg.payload entry
RPC provider RPC provider URL -
Secret Private key of sender secret
Faucet Faucet in JSON format of sender (if no private key) faucet
Destination Address of receiver destination
Amount Amount of Tezis to transfer amount

This node may be paramterized by the following payload JSON object:

{
    "secret": "... sender's private key ...",
    "destination": "tz1... receiver address...",
    "amount": ... number of tezis ...
}

If success, the node returns the following payload:

{
    "res": true,
    "op": { ... operation object ... }
}

If fail:

{
    "res": false
}

originate

Originates a smart contract.

Parameter Desc Msg.payload entry
RPC provider RPC provider URL -
Secret Private key of originator secret
Faucet Faucet in JSON format of originator (if no private key) faucet
Code Michelin codes for code in JSON code
Storage Michelin codes for storage in JSON storage

This node may be paramterized by the following payload JSON object:

{
    "secret": "... originator's private key ...",
    "code": [ ... Michelin code of contract ... ],
    "storage": { ... Michelin code of contract  storage ... }
}

The Michelin code may be obtained from Tezos client's originate command in dry and verbose mode.

If success, the node returns the following payload:

{
    "res": true,
    "op": { ... operation object ... }
}

If fail:

{
    "res": false
}

call-contract

Calls a smart contract's entry point.

Parameter Desc Msg.payload entry
RPC provider RPC provider URL -
Secret Private key of originator secret
Faucet Faucet in JSON format of originator (if no private key) faucet
Address Address of the smart contract addr
Entry Name of the entry point to call entry
Arguments List of arguments to pass args
Amount Amount of tezis to transfer to the call (0 if not specified) amount

This node may be paramterized by the following payload JSON object:

{
    "secret": "... originator's private key ...",
    "addr": "KT1... address of the smart contract ... ",
    "entry": "... name of the entry point ...",
    "args": [ ... list of arguments ... ],
    "amount" : ... number of tezis to transfer ...
}

For example, say the contract has an exec entry point which takes a string and an integer as argments; the following is an example value of the args entry:

{
    "args" : [ "this is a string", 1 ]
}

The order in which arguments are passed may be derived for example from the "interact" panel of you.better-call.dev

If success, the node returns the following payload:

{
    "res": true,
    "op": { ... operation object ... }
}

If fail:

{
    "res": false
}

generate-keys

Generates keys for a new account.

Parameter Desc Msg.payload entry
Mnemonic List of mnemonic words (optional) mnemonic

If no menomic is provided, the node generates a random one.

It generates the following payload structure:

{
    "mnemonic" : [... list of mnemonic words ...],
    "publicKeyHash": "...",
    "publicKey": "...",
    "privateKey": "..."
}

get-contract

Set msg.payload to be the POJO version of the storage of a smart contract.

Parameter Desc Msg.payload entry
RPC provider RPC provider URL -
Address Address of the smart contract addr

This node does not currently work for big maps.

confirm

Confirms an operation.

Parameter Desc Msg.payload entry
Confirmation Number of confirmations to wait for -
Operation operation object op

Operations object are currently too big for node-red to be passed from one node to the other ...


All nodes except generate-keys use the Taquito library.

The generate-key node uses the Conseiljs library.


Nodes developped by

a service by edukera.