What language should I use?

One member asked in the welcome survey:

“What language should I use?”

Blockstack Core is written entirely in Python 2. However, the upcoming release has a REST API [1] that will let you interact with Blockstack in whatever language you want.

[1] https://github.com/blockstack/blockstack-desktop-specs/blob/master/README.md

1 Like

Yep, and most of the apps that people are building uses plain JavaScript. Your JS code can talk to the RESTful API of your Blockstack node.

The best language for the job you’re trying to do!

If you’re building a decentralized, server-less application on Blockstack, you’re going to be building it either as a single-page application or as a native mobile app.

In the former case, this means you need to write it in Javascript, or at least write in a different language and have it compile down to Javascript. You’re going to load “blockstack.js” in your app to utilize Blockstack for identity and storage (this helps your app communicate with a local or remote Blockstack Core server).

In the latter case, you’ll need to write it in whatever language is appropriate for the mobile platform you’re building on, like Java, Swift or Objective C. Blockstack doesn’t have support for mobile apps just yet but this support is coming soon.

That said, there are other types of applications you can build on Blockstack, like CLI and desktop applications, in which case you can use any language you’d like.

Bottom line: The standard way to build apps on Blockstack is to build a single-page web application in Javascript and include the “blockstack.js” library. Aside from this, you can use any tools and frameworks you’d like (e.g. React, Angular, Ember, Backbone).