Interview with Will Clark, Full Stack Developer at Lisk

JavaScript is seen as the go-to language for newcomers to learn programming; meanwhile, blockchain still has this “hard to understand” label attached to its name. JavaScript is not always the right choice for blockchain projects, though. For Lisk, it ensures wide platform adoption. Here’s how.

JAXenter: Lisk is written in JavaScript using NodeJS. But why JavaScript and not another language? What does it have that Java doesn’t?

Will Clark: Our mission at Lisk is to make blockchain technology accessible to all. Choosing JavaScript as Lisk’s main programming language ensures wide platform adoption once the tools are released. JavaScript is increasingly seen as the go-to language for newcomers to learn programming, with a lot of focus from major industry players in recent years — Facebook, Microsoft, Google and so on.

The community behind this language has a very strong open source tradition, which is a major priority for us in the decentralization space. In addition, JavaScript is the only language included in all browsers by default. Once you write a function, you can use it everywhere you need it — on a node, in browsers, in command-line clients, or on auxiliary servers. This enables a greater level of efficiency in writing code, and greater consistency across projects.

JAXenter: Were there other languages that you took into consideration before you decided to use JavaScript?

Will Clark: This decision was taken long before I joined the team, and even before Lisk was born, given that Lisk forked its codebase from the preceding Crypti project. However, most of the benefits of this widely popular language all applied back then, and I assume they informed the original decision.

SEE ALSO: Mastering blockchain: Meet Lisk, a blockchain platform for JavaScript developers

JAXenter: How does Lisk use JavaScript to make blockchain more accessible?

Will Clark: As mentioned above, JavaScript was chosen partly with the aim of reaching as many developers as possible. We are currently focusing on building an array of tools to make it as easy as possible to create, customize and deploy a decentralized application on our network by creating unique sidechains.

JAXenter: Chris Stewart, the CEO and co-founder of SuredBits told us a couple of years ago that Scala is “a perfect match for Bitcoin.” Do you think JavaScript is the perfect match for blockchain?

Will Clark: Every programming language has benefits and drawbacks, and your choice should depend on the specific aims of your project. At Lisk, we want to make blockchain technology accessible to all, we have a strong commitment to open source, and a diverse range of products which all need to align, so JavaScript is the obvious choice for us.

But that doesn’t mean it’s always the right choice — for example, JavaScript would probably make a poor fit for a blockchain project which focused on record-breaking scalability without the need for browser-based clients. I do think that the structure and immutability of blockchains make them generally well suited to functional programming. Like Scala, JavaScript is multi-paradigm and we’re increasingly incorporating functional patterns into our code.

JAXenter: Why not use a language specifically made for blockchains like Simplicity?

Will Clark: It’s important to clarify that languages like Simplicity are “made for blockchains” in the sense that it’s designed to mitigate specific difficulties and dangers involved in creating smart contracts on a blockchain platform. The code (that is, the contracts) you would write in Simplicity is on a different level of abstraction from the code you would write to set up a blockchain network capable of supporting smart contracts.

Choosing JavaScript as Lisk’s main programming language ensures wide platform adoption once the tools are released.

It’s not possible to use Simplicity for developing our current projects and it wasn’t designed for such use cases. For security reasons, the Lisk mainchain only supports a limited set of transaction types, and there is no support for smart contracts. However, after sidechains are live, it will be possible for a sidechain developer to support smart contracts in their DApp, i.e. where the effects and scope of such contracts will be set by the developer but limited to the sidechain. In this case, it would ultimately be up to the developer which language they use for smart contracts, whether Simplicity or something else.

JAXenter: What does Lisk have to offer?

Will Clark: Here is a brief list of our main products:

Lisk Core: the software which is run by the nodes which together constitute the network

LiskJS: our general-purpose universal library

Lisky: our command-line tool which wraps various LiskJS functions

Lisk Nano: our desktop wallet application

Lisk Explorer: with all the functionality you would expect of a blockchain explorer

With the upcoming release of version 1.0.0, all of our products will receive a major update.

JAXenter: What’s next for Lisk?

Will Clark: On the development side, we’re almost ready to release version 1.0.0 of Lisk Core. It will include many important improvements on the software run by Lisk nodes, as well as a cleaner API. LiskJS, our JavaScript library, will feature code that’s been almost entirely rewritten with a much more intuitive interface. Lisky, on the other hand, will include the ability to broadcast transactions to the network, so people can take charge of their money from the command line.

On February 20th we are hosting a major Relaunch event in Berlin, which will include the rollout of new front-end design, dashboard and wallet, among other announcements. Tune in to our YouTube channel for the live stream. Starts at 8:30 pm CET. Don’t forget to subscribe.

Thank you!

Free: Blockchain Technology Whitepaper 2019 If building a blockchain from scratch is beyond your current scope, the blockchain technology whitepaper is worth a look. Experts from the field share their know-how, tips and tricks, development advice, and strategy for becoming a blockchain master. Download for free

asap