RChain an emerging, open source, decentralized, economically sustainable public compute infrastructure. While the RChain design is inspired by that of earlier blockchains, it also realizes decades of research across the fields of concurrent and distributed computation, mathematics, and programming language design.
There’re APIs available for the platform that allow a person skilled in any language to develop apps.
The RChain decentralized applications platform is powered by the Rho Virtual Machine, including:
RChain is an open source, emerging blockchain platform with a smart contract language called Rholang. The syntax and execution mechanism are derived directly from the rho-calculus, a variant of Milner’s π-calculus. The platform is intended to support correct-by-construction smart contracts with behavioral types. It is not possible to have bytecode injection attacks. RChain is the first implementation of the Correct By Construction (CBC) Casper consensus algorithm.
Being derived from the rho-calculus, Rholang is a language in the process calculi family of languages. Rholang is an asynchronous message based concurrent language with reflection, thus supporting higher-order mobility, like the higher-order π-calculus, but with far simpler syntax and semantics. Rholang has deep mathematical foundations making it suitable for automatic formal verification of code. In particular, Rholang is compatible with a behavioral type system that has already been shown to detect crucial bugs in the blockchain application space.
When considered in the context of RSpace, its execution mechanism and a unique key-value database supporting the storage of both data and active code, Rholang may also be seen as a next generation query language that reconciles relational query mechanisms with nosql. This means that as a smart contracting language Rholang is ideal for making blockchain a platform for data intensive applications where data is stored on chain, as well as a process modeling language, such as XLang, BEPL, or BPML.
The core RChain platform is developed in Scala with extensive use of the cats library for pure, typeful functional abstractions.
Those desiring core platform development internships, should preferably understand the structure and logic of the cats library (typelevel/cats) and the best practices in using it. Also required for core platform internships: familiarity with and/or interest in Test frameworks, generative and law based testing using e.g. ScalaTest, Discipline and Test Driven Development. However, Scala expertise is not a requirement for participation in the hackathon.