CX Appeal

A guide to installing and getting started with the CX blockchain programming language

Learning CX is easy! Give it a shot.

CX is Skycoin’s own blockchain programming language. It is ideally suited for smart contracts and other applications built on Skycoin’s unique Fiber blockchain, but the language is also robust, flexible, and comprehensive enough to be capable of creating virtually any application, including video games. Development of the CX language is ongoing, and anyone interested in programming or the blockchain should definitely check it out, and try your hand at building something. With CX, there are no limits to what you can build!

The CX Features list at Skycoin.net/cx. Learn more in Skycoin’s article “Developing CX”.

Ethereum is the only other cryptocurrency with their own exclusive blockchain programming language, though it cannot compete with CX in terms of features, extensibility, and power. Here is a great overview of how CX and Solidity differ:

Where did CX come from?

CX is based on Google’s modern Golang programming language, and there are therefore many similarities between the two.

A great place to start learning might be with any of the free Golang tutorials around the web, like Golang Bot, or some of the paid courses offered by sites like Udemy or LinkedIn Learning. A few lessons will give you a feel for the syntax and structure of Golang (and by extension, CX), as well as some of the paradigms associated with coding in a compiled or interpreted programming language, at least until equivalent courses can be produced for CX.

Installing CX

Before you can progam with CX, you need to install it on your computer. It’s just a few simple steps. The steps outlined below are for Mac computers. For windows or other operating systems, find instructions on GitHub for CX.

1. Install Homebrew. Homebrew is a third-party package manager. On a Mac, you would simply open the Terminal application and paste the following command:

2. Enter the following command to access the Git repository for CX, which is required before actually installing it. (In Hombrew terminology, this is called “tapping a keg”.)

brew tap skycoin/homebrew-skycoin

3. The installation itself is accomplished with the following command:

brew install skycoin-cx

That’s it! If you wish, you may verify the location of the install using the command:

which cx

…or verify which version you installed with the command:

cx --version

And if you ever need to update your version of CX, fire up your console and enter:

brew upgrade skycoin-cx

GitHub

But to really dig into CX you need to get on GitHub, because that’s where all the action is happening: https://github.com/skycoin/cx

Once CX is installed you can start working your way through the excellent CX textbook by Amaury Hernandez-Aguila and Inge Wallin. This textbook will be updated as CX evolves, so using GitHub will always get you to the latest version.

The textbook begins, as most traditional programming courses do, with a simple program that displays the greeting “Hello World!” This is what that program looks like in CX:

package main func main () {

str.print("Hello, world!")

}

If that looks confusing, don’t worry. The book identifies each piece of the program by purpose and function, so that you can begin to parse CX code and understand what everything does.

Follow along to learn how CX works via the “Hello, world!” program.

Beginning Programming: Fundamentals

So if you are new to programming, and interested in getting your feet wet with CX, where should you start? If you are unfamiliar with basic programming concepts like conditions, variables, and loops, you might want to start with a course of programming fundamentals. It won’t matter which language you learn these in, as the general concepts apply across most languages, including CX. There are plenty of tutorials and introductory courses available on YouTube and elsewhere that can give you a solid foundation to use as a springboard for your CX training.

If you want to dive right into CX, you may of course do so, and then step back and review programming fundamentals when and if you find yourself having difficulty understanding how the language works.

Beyond CX

There are a number of tangential or related projects in the CX orbit to explore.

What is CXFX?

This is a library to facilitate using CX to create modern video games. CX has a graphics engine, which makes this kind of real-time 3D gaming environment not only feasible, but the language is ideally suited to create these games. Eventually, CXFX will include a what-you-see-is-what-you-get (WYSIWYG) editor, like Unity, so that programmers can build their games visually.

And because CX is written with the blockchain in mind, games can interact with a blockchain for in-game assets. Due to the nature of Skycoin’s revolutionary Fiber blockchain, all applications have their own blockchain that is lightning fast, as well as infinitely scalable.

What is CXO?

This is a distributed file/data storage solution; basically a library for sharing objects securely off the blockchain. (Think Google Drive, Dropbox or even Bittorent).

Where to go now?

Follow these links to interact with a helpful community of CX developers and programmers.

CX

CXO

CXO: https://www.skycoin.net/cxo/ CXO on Telegram: https://t.me/SkycoinCXO CXO on GitHub: http://github.com/Skycoin/CXO

CXFX

Learn more about CX with the following articles: