Skip to content
/ sui Public
forked from MystenLabs/sui

Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language

License

Notifications You must be signed in to change notification settings

bagnetov/sui

Repository files navigation

Sui Developer Portal

Welcome to Sui, a next generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language! Here are some suggested starting points:

  • To understand what's possible by browsing Move code built on top of Sui, review the examples
  • To start coding against Sui's REST API's, start here
  • To go deep on how Sui works, understand Key Concepts.
  • To learn what distinguishes Sui from other blockchain systems, see What Makes Sui Different?.

Architecture

Sui is a distributed ledger that stores a collection of programmable objects, each with a globally unique ID. Every object is owned by a single address, and each address can own an arbitrary number of objects.

The ledger is updated via a transaction sent by a particular address. A transaction can create, destroy, and write objects, as well as transfer them to other addresses.

Structurally, a transaction contains a set of input object references and a pointer to a Move code object that already exists in the ledger. Executing a transaction produces updates to the input objects and (if applicable) a set of freshly created objects along with their owners. A transaction whose sender is address A can accept objects owned by A, shared objects, and objects owned by other objects in the first two groups as input.

flowchart LR
    CC(CLI Client) --> ClientService
    RC(Rest Client) --> ClientService
    RPCC(RPC Client) --> ClientService
    ClientService --> AuthorityAggregator
    AuthorityAggregator --> AC1[AuthorityClient] & AC2[AuthorityClient]
    subgraph Authority1
      AS[AuthorityState]
    end
    subgraph Authority2
      AS2[AuthorityState]
    end
    AC1 <==>|Network TCP| Authority1
    AC2 <==>|Network TCP| Authority2
Loading

Sui authorities agree on and execute transactions in parallel with high throughput using Byzantine Consistent Broadcast.

Move quick start

See the Move Quick Start for installation, defining custom objects, object operations (create/destroy/update/transfer/freeze), publishing, and invoking your published code.

Wallet quick start

See the Wallet Quick Start for installation, querying the chain, client setup, sending transfer transactions, and viewing the effects.

About

Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 83.1%
  • TypeScript 15.5%
  • SCSS 0.5%
  • CSS 0.4%
  • Python 0.2%
  • JavaScript 0.1%
  • Other 0.2%