Development Update — Preparing Tangram’s Test-net1 Release

Tangram
Tangram
Published in
4 min readJul 13, 2019

Tangram’s test-net1 release is fast approaching and as mentioned in a previous update expected release of test-net1 to be in Q3. This development update will focus primarily on what is happening behind the scenes and the important milestones that have been achieved over the last couple of weeks related to node code enhancements and preparing consensus coming to test-net1!

Development Summary:

As we continue to add as many tests as possible and network stability and performance enhancements upon the release of test-net1 with tweaking node and consensus code. Steady progress is being made towards the goal of a smooth and successful release.

Consensus Updates

  • Updated graph.cs test;

Represents the graph that is generated from nodes broadcasting to each other.

  • Added total nodes count;
  • Adding multiple blocks to graph.cs test;
  • Hiding method scopes with refactoring;
  • Added graph.cs simple test;
  • Added constructor scopes;
  • Added state.cs test;
  • Added state.cs method scopes;
  • Added message.cs test;
  • Refactor classes adding public method scopes;
  • Removing unnecessary classes;
  • Accepting incoming header changes;
  • Core.API.Consensus.Tests .

In Summary

Preparation for Tangram’s consensus protocol is steadily progressing and ensuring states and messages alike behave as per the specifications while network broadcasting is steady and stable throughout and easier to debug (under perfect network conditions).

  • Commits — Commit represents a commit message sent between nodes in a consensus round
  • Messages — Message defines an interface for all the other messages to follow
  • NewView — NewView represents a new view message sent between nodes in a consensus round
  • PrePrepare — PrePrepare represents a pre-prepare message sent between nodes in a consensus round
  • Prepare — Prepare represents a prepare message sent between nodes in a consensus round
  • ViewChange — ViewChange represents a view-change message sent between nodes in a consensus round

We hope to have individuals and team(s) that would love to contribute to the emerging ecosystem of Tangram. Upon the release of test-net1 we envision the possibility of tooling, wallets, Tangram implementations and infrastructure (block explorers etc…) focused application discussions to begin in preparation for Tangram’s launch.

Community contribution & review

Marlowe from the community spent time on gathering providing a “how-to” guide on running multiple instances of Cypher while also proposing address formatting in Tangram. These are described and can be found below:

Developers can run multiple instances of the Tangram CLI / "Cypher" on the same computer, to easily make payments from one instance to the other, to understand how the code works and trace bugs.

Tutorial for running multiple instances of the CLI (For Developers):

Address Format Proposal with PR:

Address format proposal that greatly reduces the effect of typing and copy-paste mistakes, which greatly decreases the chances of users sending coins to addresses that are not owned by anyone.Current address generation is in "WalletService.NetworkAddress([public key])" and uses the encoding of the Bitcoin address standard, which is a simple bytes to text conversion.

If you would like to contribute (but can’t do so technically) feel free to post any suggestions / features in any of the channels and simply create an issue here and label as a enhancement (New feature or request) 👍.

Example: https://github.com/tangramproject/Cypher/issues/17

Identified bugs and status

A complete list of bugs can be found here.Thinking of contributing to the code?

Connect with any of the Core and/or Community managers OR simply create an issue/pull request!

I ran into a bug, how can I help?

We’re looking to improve on the first test-net for future ones. If you identify any bugs or security issues, you are more than welcome to report these by opening a ticket here: Github. You can also discuss this further in any one of our channels. We do appreciate if you’re able to share your .log file along with steps to recreate the issue. These can be emailed to dev@getsneak.org

You can find your .log file in the following location:

  1. Navigate to your root directory;
  2. Open Cypher> bin > Release > netcoreapp2.2 > publish > cypher-2019<date>.log;
  3. Email: dev@getsneak.org

Are you a new user?

A beginners guide (click here) was released (and proposed by the community) to provide new users a somewhat of a “friction-less” experience when downloading, installing and running Cypher. For more experienced new users, installation instructions can be found here.

Download and run test-net0 today

To experience the latest updates on Cypher, please do a git pull and publish(if you have installed before). Instructions can be found here:

First time users can follow the below link:

Thank you for keeping up with our progress this far. We’re excited and looking forward to Tangram’s next test-net release! If you’re not technical enough to get involved and provide

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

Email: info@getsneak.org

--

--

Tangram
Tangram

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