Test-net0 Release

Tangram
Tangram
Published in
5 min readMay 16, 2019

The first test-net is finally here and behalf of the Tangram team we’d like to introduce and announce the release of test-net0. This represents a major milestone in the development and maturation of Tangram. Test-net0 is the first in a series of test-nets that will seek to improve the network. The CLI (Command Line Interface) is usually more suited towards developers or those who are familiar with it. Therefore, we urge those unfamiliar to please give it a try and become comfortable with using it (you’re going to need it for the initial stages — TBC but to be safe have a go). If you run into any challenges while setting it up or using it, please feel free to give a shoutout in any of our channels so we can do our best to help you.

Our goal for this initial test-net is to identify edge cases, stabilize the existing code and establish its resilience before integrating with the wider network logic. Test-net0 is a one-node test network run by Tangram core team. It is important to note that test-net0 will restart the genesis more often than not (prediction).We’ll go through what to expect and not to expect below:

Test-net0, what to expect?

Restarts for the test network are to be expected as a result test-net0 coins do not have any value and coins associated with a wallet will not transfer over to main-net due to bug fixes, stability and general improvements.

  1. Wallets automatically connect to the node;
  2. Creating wallets / accounts;
  3. Stability issues;
  4. Known and unknown bugs will persist;
  5. For test-net0, there exists no explicit limit on how many coins are in circulation or can be “minted”. It’s designed to allow as many coins within the network to experiment.

While there has been many changes and updates added over the past couple of months, the most critical features that we’re looking at testing are focused on:

  1. Extended sealed boxes to include the architecture up until this point;
  2. Underlying cryptography that Tangram relies on
  3. Addition of Pedersen commitments;
  4. Addition of range proofs;
  5. Transaction sends and receives;
  6. Offline transactions;
  7. Support for multiple “addresses” in the wallet (wallet key sets);
  8. Tor networking and identifying where possible failures occur;
  9. Performance and security.

What not to expect?

  1. Consensus layer & Proof of Stake (PoS)
  2. Load and stress testing;
  3. High availability test infrastructure — no guarantees about the availability of test-net0;
  4. Long term storage of data on the network (all data, such as accounts, private and public keys, will be subject to resets);
  5. Running a node.

Known issues

  1. Network speed over Tor;
  2. Permission issues pertaining to CLI, vault and Tor;
  3. Possible transaction failure due network failure over Tor;
  4. General usability issues.

Getting started for the first time

We’ve updated the documentation and you can find the steps when downloading for the first time here.

Some things to note:

  1. If you are installing the CLI on Mac or Linux, you’re going to run into an error when booting up Tangram’s Cypher vault (Vault automatically downloads) as it requires permission:

You will need to give permission in order to run Cypher by entering the following: chmod +x vault

If done correctly, when starting up Cypher (dotnet Cypher.dll ) you will see the following in the terminal— Starting Onion Service .

NOTE: All instructions are available on Tangram’s wiki.

Joining test-net0 after an update

If you have downloaded and installed Cypher after an update, follow the instructions here.

Obtaining test-net coins

On initial successful installation of CLI, you’ll start with zero balance but you can obtain test-net coins on any of our community channels (we’ll get them out to as many people as possible, so hopefully it’ll be easy to obtain by asking around). For now, there is no faucet available. If you’re familiar with REST API (see REST API section below) you can set something up.

User Guide & current features and commands

You can find the Cypher user guide and its commands here.

Tangram Cypher Rest API

  1. Modify appsettings.json
"network": {
"environment': "testnet",
"enabled_restAPI"; 1
]
  1. Run Cypher (dotnet Cypher.dll)
  2. Open browser: http://localhost:5001/swagger/index.html
  3. 👍

Ran into a bug, how can I help?

We’re looking to improve 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 and steps to recreate an issue. You can email 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-2019xxxx.log
  3. Email: dev@getsneak.org

Other test networks (future)

In the future you can expect multiple test-nets to be in use and available to developers and users alike. Each test-net will have specific use cases; details will be outlined in the future.

Conclusion and what’s next?

The coins being transferred in test-net have no value and coins in the wallets reset when test-net resets.

As you will notice, we’re currently testing the CLI and its functionality in its entirety. We’ll be introducing and extending test-net0 to test-net1 to include network, protocol and CLI accessible improvements and cater to all critical issues that arise throughout the process. We obviously want to have as much of a smooth release as possible when main-net comes around and we believe the plan represents that goal.

If you’re interested enough to download and install test-net0, please do. We need the testing and feedback. If not, it’s no problem. Progress on Tangram will continue towards improvements and added feature set as we look forward to maturing Tangram as a whole.

We are all very grateful for the community and to all the people who made this first test-net release possible. A huge thank you!

Vulnerability patch progress

Vulnerability patch on the wallet side has concluded. Since the discovery of the vulnerability it became evident and a reminder that Tangram is a novel and experimental approach to privacy and security, built from the ground up. The risks involved are higher than ever. Our approach is to do everything in our capabilities to ensure that we reduce the risks to the users of Tangram when it comes to their privacy and security.

What’s next?

Fixes to the vulnerability discussed in January are now being applied on the node side with reference to the C# wrapper for the native secp256k1-zkp library. We will continue to keep the community updated on the progress.

This announcement is subject to updates based on the feedback from the community.

Update: Include REST API Instructions & TGM amount on genesis

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.