TCPP 1.3.0
Reference node · mask node · schema · manuals Draft

Downloads

Everything published for TCPP 1.3.0

The reference node is one binary with no dependencies and no installer. It serves a schema-driven web application for composing and validating TCPP messages, signs them, and exchanges them with other nodes over TLS. A second binary, the mask node, stands in for a display at the other end.

Reference node

Everything the node needs at runtime is compiled in: the schema set, the worked examples and the web application. It writes its key, certificate and logs beside itself on first run.

PlatformArchitectureFileSize
Windowsx86-64 tcpp-node-1.3.0-20261022-windows-amd64.zip 3.9 MB

Checksums for every file on this page: SHA256SUMS.txt.

Other platforms on request. The node is pure Go with no dependencies, so it builds unchanged for Linux, macOS and ARM machines. Builds for those platforms are not published here, but we will gladly provide one: ask at info@iw-service.de, naming the operating system and the processor architecture.

Running it

# unpack the .zip, then, in that folder
tcpp-node.exe

The node opens https://localhost:8443/. The certificate it generates for itself is self-signed, so a browser warns once. Choose an endpoint, load the example, then Sign & Send.

Two nodes talking to each other is the interesting case, and needs nothing but two copies in two directories:

a\tcpp-node.exe --port 8443 --node-type CSU --peer localhost:8444
b\tcpp-node.exe --port 8444 --node-type TMH --peer localhost:8443

A frame signed on A appears in B's inbox immediately, and selecting it opens a prefilled response form to send back. The manual covers every screen, the command line, the files the node writes and its HTTP interface.

The key and the certificate are the node's identity. They are created on first run in a tcpp-node-data folder beside the binary, and the same pair both signs messages and terminates TLS, so giving a node your own identity is a matter of dropping both files into that folder and restarting.

Mask node

A second binary built from the same code: a TCPP module that behaves like a display. It shows the masks a node delivers with mask_output, fills them with the values of display_output, answers ping, and replies to every request on its own with a signed response whose error_code says what it found. It gives a node, or an implementation of your own, a counterpart to talk to.

PlatformArchitectureFileSize
Windowsx86-64 tcpp-mask-1.3.0-20261022-windows-amd64.zip 4.0 MB

Running it beside a node

tcpp-node.exe --peer localhost:8444
tcpp-mask.exe

The mask node listens on https://localhost:8444/, calls itself an LDU and sends its answers to localhost:8443, so these two lines are a complete pair. On the node, compose mask_output and load example_meter, send it, then do the same with display_output: the mask node shows the meter mask with its values, and the node's inbox holds both answers.

It keeps its key, certificate and log in a tcpp-mask-data folder beside itself, as the node does in tcpp-node-data, so it can be unpacked into the same folder as a node without sharing the node's identity. Its manual covers the mask view, the error codes it answers with and its command line.

Manuals

One manual for each binary. The node's is the operator's view of the node: every screen and workflow, illustrated with figures captured from a running two-node lab, plus the command line, the files it writes, its HTTP interface and the anatomy of a TCPP message. The mask node's covers what it adds: the mask view, the codes it answers with, its flags and routes. Read them here, or take the PDFs along to a machine without a connection.

Node

English

The node manual as one page, figures included, or as a PDF to keep.

Open · PDF, 4.2 MB
Knoten

Deutsch

Das Handbuch zum Knoten auf Deutsch, online oder als PDF.

Öffnen · PDF, 4.3 MB
Mask node

English

The mask node manual as one page, figures included, or as a PDF to keep.

Open · PDF, 749 kB
Maskenknoten

Deutsch

Das Handbuch zum Maskenknoten auf Deutsch, online oder als PDF.

Öffnen · PDF, 768 kB

Schema 1.3.0

All 57 schema files: 28 request/response pairs and the shared envelope. The same set the node embeds, and the same set served here at the URLs the files' own $id members name.

Licence

TCPP is an open protocol. The schemas, the examples and this documentation are free to use and to build on, including in commercial products. The specification is a draft: version 1.3.0 is complete enough to implement against, and changes to it will be published here.