Introduction

Welcome to the CasperLabs project, implemented as a new permissionless decentralized, public blockchain. Our open source Turing-complete smart contract platform is backed by a proof-of-stake (PoS) consensus algorithm, and WebAssembly (Wasm). Our particular consensus protocol in the correct-by-construction (CBC) Casper family, built on Vlad Zamfir’s CBC Casper work, is provably safe and live under partial synchrony without an in-protocol fault tolerance threshold.

Read our Tech Spec to learn more about what we’re building and become a community contributor.

Purpose of this guide

This guide is designed to support dApp developers getting started with the development of smart contracts on the CasperLabs blockchain in AssemblyScript or Rust. For Rust there is a contract development kit that includes a runtime environment, reference documentation, and test framework.

Who is this guide for

This documentation is intended for members of our Community who build distributed applications (dApps), smart contracts using our CasperLabs platform features. You can install our environment locally, create and test Smart Contracts with our Smart Contracts and Test Libraries, and use these libraries to build your own applications.

What you need to know

It is recommended you have prior knowledge about:

  • Linux or macOS
  • Programming knowledge
    • JavaScript and/or Python (optional)
    • Rust and/or Assembly script.

How this guide is organized

This documentation is accessed here and located on our GitHub repository, the single source of truth for all Smart Contract Developer documentation. The topics on the index include present and future documentation initiatives in our roadmap and are organized so that you will be able to:

  • Understand what CasperLabs is building
  • Learn how to build and operate applications on the platform
  • Learn how to set up the CasperLabs environment locally
  • Work with our Contracts API to access our Rust resources
  • Learn how to create and test Smart Contracts with our libraries

Background

The motivation for our roadmap is inspired by feedback we are receiving from your recommendations. We hope you continue to provide your feedback as you embark on this journey with us – we look forward to building a decentralized future together.

Supported operating systems

  • Unix
  • macOS

Getting help

Getting Help - CasperLabs makes available the following resources for you to connect and get support where you can:

  • Connect live with members of our Engineering Team on our Discord Channel available to support you with the progress of your projects.
  • Join the CasperLabs Community Forum that includes Technical discussions on using the CasperLabs features, obtain support, and pose questions to the CasperLabs core development team.
  • Subscribe to CasperLabs Official Telegram channel for general information and update notifications about our platform.

Feedback

If you have feedback or suggestions for improvement, please let us know! You can file an issue on our GitHub repository.

Note: For documentation feedback please file issues with links to our docs repo accessed with each page on this site. You can submit a pull request with your suggestions.