You can configure various aspects of how your node operates, focusing on these topics:
Node Management
Configure what address, port, and route the node uses for the Node Management API.
Alternatively, you can use opt to disable this API altogether.
Security Inspection Signature
Configure what address, port, route, and private key the node uses when inspecting and signing transactions.
Threat Modeling Detectors
Venn's threat modeling works by leveraging Detectors.
Use this configuration section to what detectors your node uses when inspecting incoming transactions.
Blockchain Nodes
Your node can interact and protect transactions for any EVM-like blockchain.
Use this configuration section to setup the Web3 providers and chains your node interacts with.
Protocol Registration
This configuration section tells the node what protocols are whitelisted for Venn's protection through your node. Only whitelisted protocols can use your node for transaction inspection.
Network & Peer Management
Use this section to configure your operator's display name on the network, as well as what hostname, port, and route it exposes for peer-to-peer communication on the Network.
This is also where you configure what peers your node is connected to.
During Venn Testnet phases, protocol registration and peer discovery is handled manually, in a permissioned model.
Once Venn goes live no mainnet, both protocol registration and peer discovery will be done on-chain through dedicated registration contracts.
Node Management
# Node Management - The configuration for the Operator's Management API# Mandatory: nomanagement:# disabled - Whether the Operator Management API is disabled# Default: false# Mandatory: nodisabled:false# host - The host of the Operator Management API# Default: 0.0.0.0 - listen on all interfaces# Mandatory: nohost:0.0.0.0# port - The port of the Operator Management API# Default: 30000# Mandatory: noport:30000# path - The path of the Operator Management API# Default: none# Mandatory: nopath:
Security Inspection Signature
# Security Inspection Signature - The configuration for the Operator Signer# Mandatory: yessigner:# host - The host of the Operator Signer API# Default: 0.0.0.0 - listen on all interfaces# Mandatory: nohost:0.0.0.0# port - The port of the Operator Signer API# Default: 10000# Mandatory: noport:10000# path - The path of the Operator Signer API# Default: /signer# Mandatory: nopath:/signer# signerPrivateKey - The private key of the external signer# Default: none# Mandatory: yessignerPrivateKey:"PRIVATE_KEY"
Threat Modeling Detectors
# Threat Modeling Detectors - The configuration for the Operator external Detectors configuration# Default: none# Mandatory: yesdetectors:# detectionThreshold - minimum threshold for detection# Default: 0# Mandatory: yesdetectionThreshold:0.5# detectors - The detectors to use for the signer# Mandatory: yesdetectors:# name - The name of the detector# Default: none# Mandatory: yes - name:processor# endpoint - The endpoint of the detector# Default: none# Mandatory: yesendpoint:http://detectors.testnet.venn.build:40000/api/external-detector# weight - The weight of the detector when calculating the detection score must be greater than 0# Default: none# Mandatory: yesweight:0.9# timeoutSeconds - The timeout in seconds for the detector# Default: 30 seconds# Mandatory: notimeoutSeconds:30
Blockchain Nodes
# Blockchain Nodes - The nodes to connect to for the signer retrieval of transaction simulation# Default: none# Mandatory: yesnodes:# chainId - The chainId of the network# Default: none# Mandatory: yes - chainId:1# nodes - A List of nodes to connect to for the particular chainId. at least one node is required for each chainId# Default: none# Mandatory: yesnodes:# wsUrl - The websocket url of the node# Default: none# Mandatory: yes - wsUrl:"WSS_URL"# jsonUrl - The json rpc url of the node# Default: none# Mandatory: yesjsonUrl:"JSON_URL"# type: The type of the node# Default: ethereum# Mandatory: notype:ethereum
Network & Peer Management
# Network & Peer Management - The configuration for the Venn Operator and its peers# Default: none# Mandatory: yesvenn:# name - The name of the Operator - can be any string# Default: hostname# Mandatory: noname:operator-1# operatorId - The id of the Operator (the name that broadcast to other peers) - can be any string# Default: hostname# Mandatory: nooperatorId:"operator-1"# host - The host of the Operator Blockbeat listening on# Default: 0.0.0.0 - listen on all interfaces# Mandatory: nohost:0.0.0.0# port - The port of the Operator Blockbeat listening on# Default: 20000# Mandatory: noport:20000# peers - The peers of the Operator# Default: none# Mandatory: nopeers:# name - The name of the peer# Default: none# Mandatory: yes - name:eu-testnet-venn-build# endpoint - The endpoint of the peer# Default: none# Mandatory: yesendpoint:http://europe.testnet.venn.build:20000# timeoutSeconds - The timeout in seconds for the peer to respond# Default: 60 seconds# Mandatory: notimeoutSeconds:60# checkIntervalSeconds - The interval in seconds to check the peer health# Default: 60 seconds# Mandatory: nocheckIntervalSeconds:60
Protocol Registration
# Protocol Registration - The protocols the Operator is protecting# Default: none# Mandatory: yesprotocols:# chainId - The chainId of the network that the protocol is on# Default: none# Mandatory: yes - chainId:1# protocols - A List of protocols to protect on the particular chainId. at least one protocol is required for each chainIdprotocols:# name - The name of the protocol# Default: none# Mandatory: yes - name:Protocol1# addresses - A list of addresses related to the protocol# Default: none# Mandatory: yesaddresses: - "0x<some_address_1>" - "0x<some_address_2>"