Overview
The HTTP driver provides connectivity between IOTA and any HTTP server. The driver is state-less, i.e. it doesn't maintain source connections or any data caches. The
single HTTP driver service can support multiple connections to different HTTP resources.
The driver is designed to run external HTTP resources. It doesn't support common IOTA features like tag/asset search, plotted data, and snapshots. It's main purpose is to execute external systems, get the data from them as is, and return it to the UI as is.
IOTA Type | Supported? | Source Type |
---|---|---|
Tag | ⚫ | Signal |
Asset | ⚫ | Asset |
Timeframe | ⚫ | Capsule |
Exec | 🟢 | Custom |
Diagram
Technical Specification
Description | Value |
---|---|
Latest Version | 1.2.17.1 |
Development Language | GoLang |
Processor Architecture | 64-bit |
Supported Operating Systems | Windows/Linux/OSX |
Deployment Size | 35 Mb |
Data modes | Exec |
Request/Response pattern | Asynchronous |
Source Communication | HTTP |
Back-end Communication | NATs message bus |
Message bus driver type | generichttp |
Near Real-Time Data Updates | No |
Multiple HTTP Resources | Yes |
Dependencies
The HTTP driver is installed along with the main IOTA Vue service in a containerized environment such as Kubernetes, Docker, or Podman. It can also be installed as a standalone Windows or Linux service.
Security
IOTA API (back-end) Security
The HTTP driver uses the NATs message bus to communicate with the IOTA Vue cluster. The two-way traffic is encrypted
using Transport Layer Security (TLS) on port 443. In addition, the message bus communication security model uses a
public key signature system based on Ed25519 called NKeys. With NKeys, the server can verify identities without ever storing or seeing
storing or seeing private keys. The authentication system works by requiring a connecting client to provide its public key and digitally sign a challenge.
key and digitally sign a challenge with its private key. The server generates a random challenge with each connection
request, making it immune to replay attacks. The generated signature is validated against the provided public key,
proving the client's identity. If the public key is known to the server, authentication is successful.