Installation
Requirements
Hardware
Recommended 4 CPUs (minimum 2)
Recommended 16GB Memory (minimum 8)
Software
Docker
Blockchain Web RPC Provider (i.e. Quicknode or your own custom endpoint)
Private Keys
A private key representing your operator node
Network Ports
Port
10000
is used for the inspection interfacePort
20000
is used for P2P communicationPort
30000
is used for the Management API
Quick Setup
Venn's node client software is called BlockBeat.
Written in GoLang, and released as a Docker image, BlockBeat provides unparalleled performance internally, while keeping Operator Experience in mind for easy setup and maintenance.
Simply copy and paste the following command in your terminal:
This script will:
Create a new folder named
my-venn-operator
Create a
Makefile
with helper commands to start, stop, update, and test your nodeCreate a
config.yaml
file in that folder with recommended defaults to get startedCreate a
protocols.yaml
file in that folder, with whitelisted protocols your node will be allowed to inspectCreate a
test-tx.json
file in that folder, which is used for locally validating your node's basic setup
During Venn's testnet phase, only these whitelisted protocols will be inspected. See Testnet Guide for more info.
After running this script, you should see the following output:
First Run
After adding your Private Key
and Web3 Provider
URLs to config.yaml
, run the following command to start the node:
Running this command will start the BlockBeat docker image in foreground, streaming all logs to the terminal, as well as capturing the logs in the operator.log
file.
This mode is intended for testing purposes only.
Running this mode in a production environment may result in operator.log
growing beyond the system's available size, causing various issues.
For production environments, make sure to run BlockBeat in the background.
Testing
Now that you have a node running, let's test it by sending it a test transaction to inspect. Run the following command in a new terminal window:
This will trigger a test transaction to your local node, and you should see output similar to the following:
Success!
Our test transaction is approved by Venn, and our node setup verification is complete.
What's in the box?
config.yaml
A basic node operator configuration file.
name
- can be anything you like, and will be used for identifying your node on the network, along with a unique-id that is auto-generated for you by BlockBeatsignerPrivateKey
- this is the key that represents your node on the Venn Network, which signs inspections results for transactions processed by your nodenodes
- the chains, blockchain nodes, and their respective Web3 Provider URLs. Multiple nodes can be configured per chain for redundancy, ensuring high-availability for your Venn node.detectors
- these are the threat modeling mechanisms that the node uses to scan and analyze incoming transactions. During the current testnet phase, we recommend using Venn's external detector.protocolsFile
- this is used during our current testnet phase to indicate which assets are protected by the node. Once Venn goes live on mainnet, this field will be deprecated in favor of an on-chain protocol-registration mechanism
Makefile
Used as a helper file to start, stop, test, and update BlockBeat.
test-tx.json
A simple test transaction you can use to make sure everything is up and running.
Running In Production
To run BlockBeat in production, run the following command:
Last updated
Was this helpful?