Skip to content
/ cadence Public

Cadence, the resource-oriented smart contract programming language πŸƒβ€β™‚οΈ

License

Notifications You must be signed in to change notification settings

onflow/cadence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ece3d8f Β· Jun 9, 2023
Apr 19, 2023
Jul 21, 2022
May 29, 2023
May 29, 2023
Apr 21, 2023
Jan 19, 2023
May 2, 2023
Mar 30, 2023
Apr 18, 2020
Jun 9, 2023
Jan 11, 2022
May 19, 2023
Jan 19, 2023
Mar 30, 2023
Dec 7, 2022
Dec 7, 2022
Jan 19, 2022
Feb 7, 2023
Apr 21, 2020
Nov 24, 2021
Mar 19, 2020
Mar 21, 2023
Jan 19, 2023
Jul 29, 2021
May 10, 2021
Jul 15, 2021
Feb 8, 2023
Jul 26, 2020
Jul 13, 2022
May 24, 2022
Jan 19, 2023
Jan 31, 2023
Apr 24, 2023
Apr 24, 2023
Jan 19, 2023
Feb 10, 2023
May 29, 2023
May 29, 2023
May 29, 2023
May 29, 2023
Mar 30, 2023

Repository files navigation

CI

Cadence

Introduction

Cadence is a resource-oriented programming language that introduces new features to smart contract programming that help developers ensure that their code is safe, secure, clear, and approachable.

Some of these features are:

  • Type safety and a strong static type system
  • Resource-oriented programming, a new paradigm that pairs linear types with object capabilities to create a secure and declarative model for digital ownership by ensuring that resources (and their associated assets) can only exist in one location at a time, cannot be copied, and cannot be accidentally lost or deleted
  • Built-in pre-conditions and post-conditions for functions and transactions
  • The utilization of capability-based security, which enforces access control by requiring that access to objects is restricted to only the owner and those who have a valid reference to the object

Getting Started

To get started writing Cadence, why not try out the Playground?

If you want to develop locally, use these tools:

  • Flow CLI, which includes the Flow emulator. The emulator is a lightweight tool that emulates the behaviour of the real Flow network.
  • Visual Studio Code extension. The Visual Studio Code extension enables the development, deployment of, and interaction with Cadence contracts.

Documentation

Check out the Cadence Docs.

Contributing

If you would like to contribute to Cadence, have a look at the contributing guide.

Development documentation can be found in the /docs directory. For example, it contains the source for the language reference.