Skip to content

Releases: NeuraiProject/Neurai

Neurai 1.0.6 DePIN Messaging TEST

15 Nov 17:57
6507fce

Choose a tag to compare

This is a beta version to test the capabilities of the DePIN messaging system built into the node.

DO NOT USE IN A WALLET WITH FUNDS!!!

What is DePIN Messaging?

DePIN Messaging is a decentralized encrypted communication system between holders of a specific token on the Neurai blockchain network. With a Neurai node, it is possible to easily create a communication server.

Key Features:

  • Token-gated access (only asset holders can participate)
  • End-to-end encryption using ECIES hybrid encryption
  • Message signing using ECDSA (secp256k1)
  • Distributed pool architecture (each node can run a message pool)
  • Configurable message expiration (default: 7 days, max: 30 days)
  • Configurable message size (default: 1KB, max: 10KB)
  • Configurable recipients per message (default: 20, max: 50)
  • Configurable pool size limit (default: 100MB, max: 1GB)
  • Optional pool persistence to disk

CECIESEncryptedMessage (Encryption Envelope)

class CECIESEncryptedMessage {
    CPubKey ephemeralPubKey;                          // 33 bytes (compressed secp256k1)
    std::vector<unsigned char> encryptedPayload;      // IV + ciphertext + HMAC
    std::map<uint160, std::vector<unsigned char>> recipientKeys;  // Per-recipient encrypted AES keys
};

encryptedPayload Structure:

[16 bytes: AES IV]
[variable: AES-256-CBC encrypted message]
[32 bytes: HMAC-SHA256(IV || ciphertext)]

recipientKeys Entry (per recipient):

Key: uint160 (20 bytes) - RIPEMD160(SHA256(recipient_pubkey))
Value: [33 bytes: ephemeral_pubkey_for_recipient]
       [32 bytes: encrypted_aes_key]
       [32 bytes: HMAC-SHA256(encrypted_aes_key)]
Total: 97 bytes per recipient

CDepinMessage (Core Message Structure)

image

Configuration File (neurai.conf):

# Mandatory
assetindex=1                # Required for DePIN
depinmsg=1                  # Enable DePIN messaging
depinmsgtoken=MYTOKEN       # Token that controls access

# Network
depinmsgport=19002          # DePIN server port (default: 19002)

# Message Limits
depinmsgmaxusers=30         # Max recipients per message (default: 20, max: 50)
depinmsgsize=2048           # Max message size in bytes (default: 1024, max: 10240)
depinmsgexpire=336          # Message expiry in hours (default: 168, max: 720)

# Pool Management
depinpoolsize=200           # Max pool size in MB (default: 100, max: 1000)
depinpoolpersist=1          # Save pool to disk on shutdown (default: 0)

Verify Configuration:

neurai-cli depingetmsginfo

Example Output:

{
  "enabled": true,
  "token": "MYTOKEN",
  "port": 19002,
  "maxrecipients": 30,
  "maxmessagesize": 2048,
  "messageexpiryhours": 336,
  "maxpoolsizemb": 200,
  "messages": 42,
  "memoryusage": 1258496,
  "memoryusagemb": 1.20,
  "oldestmessage": "2025-11-14 10:30:00",
  "newestmessage": "2025-11-14 18:45:23"
}

Local RPC Commands

depinsendmsg

Send a message to the pool.

neurai-cli depinsendmsg "TOKEN" "192.168.1.31:19002" "Hello world" "NXsender..."

Parameters:

  1. token (string, required) - Token name
  2. ip[:port] (string, required) - Remote node IP and optional port
  3. message (string, required) - Plaintext message (max size configurable via depinmsgsize, default: 1KB)
  4. fromaddress (string, optional) - Sender address

Process:

  1. Get all token holders from blockchain
  2. Retrieve public keys for all holders
  3. Encrypt message using ECIES for all recipients
  4. Sign message with sender's private key
  5. Serialize message
  6. Send to remote node via JSON-RPC (method: depinsubmitmsg)

Response:

{
    "result": "success",
    "txid": "<message_hash>"
}

depingetmsg

Retrieve and decrypt messages.

# Local pool
neurai-cli depingetmsg "TOKEN"

# Remote pool (default port 19002)
neurai-cli depingetmsg "TOKEN" "192.168.1.31"

# Remote pool with explicit port
neurai-cli depingetmsg "TOKEN" "192.168.1.31:19002"

# With specific address
neurai-cli depingetmsg "TOKEN" "192.168.1.31:19002" "NXyouraddress..."

Parameters:

  1. token (string, required) - Token name
  2. ip[:port] (string, optional) - Remote node IP:PORT or local address
  3. fromaddress (string, optional) - Specific address to decrypt with

Full Changelog: 1.0.5...1.0.6_DepinTest

Neurai 1.0.5

05 Nov 08:39
7024d90

Choose a tag to compare

Non-mandatory Update.

Full Changelog: 1.0.4...1.0.5

===BEGIN CHECKSUMS===
9bfcd7e4c81da94a8d620d8062e6f74404586ffa3bf0ed7b066e75386573f554 neuraid
1af09de8777b13a1495785f5ead938016c1d4c75d3da99b63863173048096a43 neurai-cli
ba35cdead79ee3cb381ef1e98276849dd98168154b93a44a23d2a23699b334a5 neurai-qt
3614c4223eb8dfc71a203ded32effae3a9c6fc920da4ceb5a78f0f712b61a8b6 neuraid.exe
481e4a2b64e01937a0706fde31f64d001e442d812abbc91223cf16f5be5f878c neurai-cli.exe
4e25c7240c224b5d0fe51ab4d05016fbe7d377d3b939e26494ab1422448ed9b7 neurai-qt.exe
===END CHECKSUMS===

PGP: E04B BAAB FD79 2564 3C84 8275 5401 5574 1B13 FE02
https://github.com/NeuraiProject/electrum-neurai/blob/main/pubkeys/neurai.asc

Version for Blockbook

neurai-1.0.5.0.SLIP44-0.-x86_64-linux-gnu.tar.gz
neurai-1.0.5.0.SLIP44-1900.-x86_64-linux-gnu.tar.gz

Neurai 1.0.4

15 Feb 10:31
675d16b

Choose a tag to compare

Version 1.0.4

  • Add checkpoints 675d16b
  • Update Readme with testnet config 675d16b
  • Change buffer value 675d16b
  • Update burn addresses a6346f2
  • Update testnet bip44 cointype 4175ff7
  • Update data to active assets in testnet c1bc2d8

Hash

  • SHA256(neurai-qt)= 661c920a963e049bf99c4609ede462941bcc48c1c9860dd96da20152864ba89c
  • SHA256(neurai-qt.exe)= 59c444957ec00a260617a944612dc00bb488fa07a8d2d3346733cb6cec0c5dc1
  • SHA256(neurai-1.0.4.0.WITH.NEW.DERIVATION.-x86_64-linux-gnu.tar.gz)= ea2577c3038e740e264b7df1daf43195fee29b2baacb1ec865ee37a925dd60fb

Neurai 1.0.3

19 Nov 14:24
61bed49

Choose a tag to compare

Version 1.0.3

  • Add checkpoints and some typos 61bed49
  • Update price with coingecko 9c874ee
  • Fix typo in halving system 5b88a0b
  • Update with .gitignore 774fc31
  • Update Dockerfile for Linux & win 51a7c25
  • Update images in wallet QT ce1c051
  • Added a directory with several dockerfiles 603d3ab
SHA256(neurai-qt)= 9172fd0efc1a7126a1a9d66a4f56a587cf95d00419e7fb8c8ccc183cca5d148a
SHA256(neurai-qt.exe)= c903eb2ad2d9f1ce2dc824046f5656319a2799bec632fbca24b64dbfb398c001

Neurai 1.0.2

31 May 14:53
42b97f0

Choose a tag to compare

Version 1.0.2

  • Add some checkpoints.
  • Updated QT dependencies.
  • Added burn addresses.
  • Small corrections in the images.

Neurai 1.0.0

21 May 07:38

Choose a tag to compare

Binaries for Neurai 1.0.0