The month of March is extremely exciting for all of us! It is my pleasure, as CTO and co-founder of Bluzelle, to make the first version of CURIE’s TestNet available to the public. This marks a major technical milestone before the official release of CURIE at the end of this month. During this month, there will be more guides and other information to get everyone familiar with CURIE.

Recap

Our team has been working hard the past several months, updating our consensus engine to use the Cosmos + Tendermint technology stack, a key component of our decentralized database. Briefly, Tendermint is the best implementation of the BFT (byzantine fault-tolerant) consensus engine. Cosmos is a blockchain framework that was specifically built to run on top of Tendermint.

Near-term roadmap

The CURIE TestNet gives developers an early opportunity to start developing apps against our TestNet, as well as get familiarized with the token economics (using our TestNet token). The TestNet token can be freely attained and is for development use only.

Once we are satisfied with the stability of both BluzelleNet and the TestNet, they will be merged together as BluzelleNet 1.0, where database services are paid for with the real BLZ token.

CURIE Facts and Features

A public-facing test network on the Internet. The network is powered by the Bluzelle blockchain. We have four validators running in the following locations:

Oregon, USA

Singapore

Bombay, India

Frankfurt, Germany

Three primary interfaces that developers can interact with:

At the lowest level, there is a JSON-RPC interface to Tendermint, which the Bluzelle command line interface (blzcli, discussed below) can talk to.

At the middle level, there is a RESTful interface that enables use of the Bluzelle REST API. BLZJS (discussed below) uses this RESTful interface to connect to Tendermint.

At the highest level, there is BLZJS, our newly updated version of the Bluzelle JS library.

A new client, called blzcli, lets the user interact with our network from the command line. This client enables account management, movement of tokens, and of course, commands to interact with our database.

BLZJS, our revamped Javascript library replaces the previous bluzelle-js. BLZJS provides a clean and powerful, yet simple interface to write applications that use the Bluzelle decentralized database.

CURIE TestNet HOWTO

To get the public started, I have put together a HOWTO, so developers can immediately use the TestNet. In some cases, links are provided to enable the developer to directly find instructions.

Following is the outline of the HOWTO steps in order:

Install BLZCLI to your local machine. Get some UBNT tokens for use on the TestNet. How to use BLZCLI for account management, the database, etc. Install the Bluzelle JS (BLZJS) library to your local machine. Use the crud.js script to get familiarized with BLZJS. Write a quick “hello world” program with BLZJS.

The Demo Video

The YouTube video encapsulates what we have written here on the blog over to the visual form, to help developers like yourself follow the procedures better.

IMPORTANT: Please ALSO refer to the steps below in the blog, as there are some post-video amendments. Some aspects of the video are changed in the textual steps below.

The 6 steps will be all covered in the video:

CURIE TestNet Public Showcase

1. Installing BLZCLI

Goto the below URL and perform steps 1–3.

If on Ubuntu, be sure to first update all your local repositories beforehand.

https://github.com/bluzelle/curium/blob/devel/README.md

Once done, ensure that “blzcli” is accessible as an executable on your command line.

2. Get some UBNT tokens

We are in the process of setting up a proper “faucet” for acquiring tokens in a more streamlined fashion. Once that is done, we will ask you to create your own Bluzelle wallet and then get tokens from the faucet.

For the time being, we have created a wallet you can all share and use in the short term.

We internally use “UBNT” as our token, to refer to a “micro-BNT”, or one-millionth of a BNT. This allows high granularity. This differs from the video, where we were referring only to BNT. So keep in mind that for development, there is NO reference to “BNT”, only “UBNT”.

Use the following blzcli command to import this wallet to your local system:

blzcli keys add --recover tempwallet --keyring-backend test

You will be asked to create a password, confirm it, and then provide the mnemonic phrase. It is as follows:

“around buzz diagram captain obtain detail salon mango muffin brother morning jeans display attend knife carry green dwarf vendor hungry fan route pumpkin car”

Once entered, you will see that you have a local wallet called “tempwallet” with the following Bluzelle address:

bluzelle1upsfjftremwgxz3gfy0wf3xgvwpymqx754ssu9

3. Using BLZCLI

Configure blzcli with the following commands:

blzcli config chain-id bluzelle

blzcli config output json

blzcli config indent true

blzcli config trust-node true

UBNT Balance Check

Check the UBNT balance in the imported wallet:

blzcli q account $(blzcli keys show tempwallet -a --keyring-backend test) --node tcp://testnet.public.bluzelle.com:26657

Ensuring keys within a data block

Get a list of all the keys in a namespace:

blzcli q crud keys <namespace> --node tcp://testnet.public.bluzelle.com:26657

Read the value of a key in a namespace:

blzcli q crud read <namespace> <key> --node tcp://testnet.public.bluzelle.com:26657

Create a new key-value pair in a namespace:

blzcli tx crud create <namespace> <key> <value> --node tcp://testnet.public.bluzelle.com:26657 --from tempwallet --gas-prices 10.0ubnt --keyring-backend test

4. Installing BLZJS

Goto the following URL and clone that repository to your machine:

https://github.com/bluzelle/blzjs

Ensure you are on the “devel” branch.

NPM Installation

If you do not have nodejs or npm installed already, please install them. On Ubuntu, use:

sudo apt install nodejs npm

Run the following in the blzjs folder to install all dependencies:

npm install

5. Using crud.js

crud.js is a handy helper tool to interact with the swarm with simple commands.

Setting Up in crud.js

In the folder samples, copy the following file:

blz-config.js.sample

to the following file:

blz-config.js

Edit and provide the following values in it:

address:

<same bluzelle address as above when you imported the wallet>

<same bluzelle address as above when you imported the wallet> mnemonic:

<same one as above when you imported our wallet>

<same one as above when you imported our wallet> endpoint:

http://testnet.public.bluzelle.com:1317

http://testnet.public.bluzelle.com:1317 chain_id:

bluzelle

Run the following to see help:

node crud.js

Commands within the Database

Try out a bunch of commands to interact with the database. Some examples:

Get a list of all the keys in a namespace:

node crud.js querykeys <namespace>

Read the value of a key in a namespace:

node crud.js queryread <namespace> <key>

Create a new key-value pair in a namespace:

node crud.js create <namespace> <key> <value>

6. Writing “hello world” with BLZJS

In the same folder above as where “blz-config.js” exists, create “helloworld.js” as follows:

#!/usr/bin/node const { bluzelle } = require(‘../src/main.js’);

const config = require(‘./blz-config.js’);

const gas_params = {‘gas_price’: ‘10.0’}; var bz; const main = async () => { bz = await bluzelle({

address: config.address,

mnemonic: config.mnemonic,

uuid: “<namespace>”,

endpoint: config.endpoint,

chain_id: config.chain_id

}); try

{

res = await bz.create(“<key>”, “<value>”, gas_params);

console.log(typeof res != ‘undefined’ ? res : “success”);

res = await bz.queryread(“<key>”, false);

console.log(typeof res != ‘undefined’ ? res : “success”);

} catch(e)

{

console.error(e.message);

} }; main();`

Try running it to see the results with the following:

node helloworld.js

Note that if you run it twice, it will fail, because you are trying to create the same value when it already exists. Modify and experiment with it, using other functions like update, etc. Refer to the docs at the following for other commands:

Community

It’s always better when we work together! Please give this blog some claps and share it out on Facebook, Twitter and Reddit.

Github

We encourage our developer community to visit out Github as well, and take a look at our repositories, and/or contribute to their progress with pull requests, bug reports, etc:

https://github.com/bluzelle

Gitter

Our Gitter community is ideal for developers to participate in active conversations on the Bluzelle database. Visit Gitter on the web at the following link, and feel free to use the dedicated mobile/desktop Gitter apps, to remain always connected with our Bluzelle community!

https://gitter.im/bluzelle

Reddit

Bring your conversation online to Reddit as well. Of course keep your technical details to Github and Gitbook, but with Reddit, let’s engage people further in pointing to inter-blockchain resources, or even just show different achievements you made with the Bluzelle Database!

Technical Previews on Medium

Catch our previous technical previews to understand how our Bluzelle Network functions!

What’s Next

Watch out for this space, here at Medium, to catch the updates on how you can earn more rewards by participating actively with Bluzelle, be it within the Bluzelle Chain or outside of CURIE on social media. Bluzelle will like to celebrate this terrific month with all of our supporters, by having our supporters all join us in this celebration with more rewards given to the community.

Early Enrolment Program

As you have seen in all our technical previews, including our sneak peak in Staking Dashboard, there will be a need for everyone to have a Bluzelle Wallet or Cosmos-integrated wallet for the transition between Ethereum-to-Cosmos interface, and we will like to reward people by giving small BNT tokens to people who actually have create their wallets before CURIE is released. Look out for more details for early enrolment rewards!

Community Marketing Program

Good things are meant to be shared. Naturally, you will want to share this with your friends, your circle, your community and other places where you have an influence upon. So why not get rewarded for that? Do not just do that for free! We are looking to come out with programs to see how viral your content of Bluzelle chain can go, and we will like to reward those which can reach a certain level of virality that spread the word the furthest.

CURIE Release

Last but not the least, what is the most important and exciting thing happening is at the end of the month — CURIE BluzelleNet 0.1.

When the testnet is properly tested and verified for development and participation by our community, then what is next will be none other than launching BluzelleNet 0.1, where people can come in to participate as delegators.

This will happen at the end of this month, March 31st! Look out for it!

To recap yourself on further capabilities and details of CURIE, head back to: CURIE UPDATE in November 2019.

About Bluzelle

Bluzelle is a global decentralized database for web 3.0. Bluzelle combines blockchain and edge computing to deliver an instantly scalable, auto-managed, and cryptographically secure database service. Bluzelle is a layer two solution for the data needs of blockchains and is suited for serverless applications, Dapps, gaming and IoT.

Learn more by visiting: website, Telegram, and Twitter