Vector Release — Run a Node

Tangram
Tangram
Nov 10 · 6 min read

To learn more, visit https://github.com/tangramproject/Tangram.Vector

Vector Release — Phase 1

Running a Node

The guide below assumes that you have an understanding of port forwarding and some advanced computer knowledge. Please ensure you read the note below before moving on:

Process of setting up a node

It is important to note that at this stage, setting up a node is a tedious process. We recommend and suggest if you are not familiar with Port Forwarding and do not have a technical mindset, DO NOT TRY SETTING UP A NODE YET. This process will obviously be simplified and refined in the future (e.g. — Docker and other enhancements). If you have any doubt or confusion about how to setup a node and are unsure, DO NOTHING for this initial period. Wait for an updated and simplified procedure. Updates will be announced through the communication channels listed at the end of this post.

1. Why run a node?

Nodes are an important part of the Tangram network infrastructure, as clients will always send their transactions to nodes to have them validated.

2. Minimum hardware requirements

Tangram Vector is a live system, and the hardware requirements may change during each phase and with usage of the network.

3. Network access

We recommend running a node on a VM, however, if you will run a node from “Home” then ensure you Port Forward to Port 8080 for TGMGateway.

4. Installing and building from source

TGMGateway as Daemon:

5. List of Dependencies

RavenDB

Tangram Vector stores the state of the ledger in a NoSQL Document Database.

Startup instructions for RavenDB:

Depending on your OS, you will download RavenDB from https://ravendb.net/download, follow the instructions in the root folder of RavenDB named readme

If you change your port in RavenDB, ensure that the port is changed to the same in Coin.API .

.NET Core 3.0 Installer (SDK)

Download the .Net Core 3.0 Installer from https://dotnet.microsoft.com/download/dotnet-core/3.0

Install .Net Core 3.0.

6. appsettings.json

Currently you will need to add your node’s Public IP and port in the Membership.API appsettings.json file in order to join the network.

Note: The port exposed corresponds to the Tangram Gateway, not the membership Micro-service itself.

example:

{
"Logging": {
"LogLevel": {
"Default": "Debug"
}
},
"AllowedHosts": "*",
"onion": {
"onion_service_address": "http://localhost:3001/",
"onion_socks_host": "127.0.0.1",
"onion_socks_port": 9050,
"onion_control_host": "127.0.0.1",
"onion_control_port": 9051
},
"Membership": {
"PublicHost": "xx.xx.xxx.xx" // IP address //,
"PublicPort": "8080",

"BootstrapNodes": [
"http://192.241.155.66:8080",
"http://157.245.94.117:8080"
]
}
}

Currently there exists two Bootstrap nodes with more being added in the future:

http://192.241.155.66:8080,
http://157.245.94.117:8080

7. Other preparation(s) before joining the network

Posted on Github README.md with updates to follow based on feedback and discussions.

8. Troubleshooting

You will find the .log file for each service within the root directory of the publish folder. Naming convention is <servicename_timestamp>

Security warning: Vector is the first release with consensus and as such should be treated as experimental! There are no guarantees made, and bugs and flaws are expected at this stage of development.

**Updating Cypher**

Whether you have downloaded and installed Cypher or not. Please ensure you follow the instructions below before interacting with the network:


Notes:

Contribution and Support

If you’re thinking about starting a Tangram-related project and need support; we thank you for considering. If you have a few questions that need answering or a little more detail than some, feel free to get in touch through any of Tangram’s channels and the community members and managers will point you in the right direction.

If you’d like to contribute to Tangram Vector (Node code), please know we’re currently accepting issues, forks, fixes, commits and pull requests so that maintainers can review and merge into the main code base.

Process of submitting an issue

A complete list of bugs can be found here, please take a look at the known issues before submitting, in case of duplication. Connect with any of the Core and/or Community managers OR simply create an issue/pull request.

Tracking pains of setting up a node

To keep up with the pains of setting up a node and identifying areas where high impact and low effort or high effort etc. can be implemented throughout and make the barrier of setting up a node less complicated. We’ll keep note of where we can improve (generally), we need support from the community keeping tabs and highlighting these areas ideally in Github-#issues-manager, reddit, Tangram forum or #vector-testnet1.


Optimizations and Enhancements

The current issues highlighted in the link below are segmented into two parts and will be extended and expanded upon as time goes on:

It is important to understand the effort and impact that each optimization and enhancement will have in a set matrix, namely for users (usability and quality of life), technical (network, consensus and the overall ecosystem) and time (effort and the complexity of the solution). Understanding these three verticals allows us to triage and define the progression of an enhancement and optimization “issue” through the life-cycle of development and release.


Bug Bounty

A bug bounty will be enabled TWO — FOUR WEEKS after the release of Tangram Vector Phase 1 (running a node — this release). More details will be provided and the updated process and governance can be found in the link below with a “Threat Vector Cheat Sheet” of what the initial bug bounties will be focusing once announced.


Learn more

To learn more about Vector and Tangram, head to the Vector network wiki for further information:

Blockmania Consensus:

SWIM:

Misc:

Educational and knowledge transfer around the architecture of Tangram and more will be conducted through various mediums. Feel free to delve deep into the code at any stage.


If you’re interested, have questions and feedback:

Visit our website: www.tangrams.io

Read our blog: www.medium.com/@tangramd

Subscribe on Reddit: www.reddit.com/r/Tangrams

Discover us on Discord: www.discord.tangrams.io

Message us on Telegram: https://t.me/Tangrams

Follow us on Twitter: www.twitter.com/tangram

Watch on YouTube: https://www.youtube.com/channel/UCoe5hPG_zjltaG_j2n1Oh4Q

Tangram_tgm

Tangram was created with a singular vision: to inspire, mobilize and empower a new generation of cypherpunks.

Tangram

Written by

Tangram

Tangram was created with a singular vision: to inspire, mobilize and empower a new generation of cypherpunks.

Tangram_tgm

Tangram was created with a singular vision: to inspire, mobilize and empower a new generation of cypherpunks.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade