Skip to content

Commit

Permalink
Update README.md (MystenLabs#696)
Browse files Browse the repository at this point in the history
* Update README.md

Move all details to dev docs and instead link to them:
Move quick links to Dev Guide landing page
Move architecture to How it Works page

* Update README.md

Adding back quick links and updating paths to relative
Removing TODOs
Adding white paper

* Update README.md

Fix path to examples
  • Loading branch information
Clay-Mysten authored Mar 10, 2022
1 parent 87e6397 commit e66157e
Showing 1 changed file with 8 additions and 48 deletions.
56 changes: 8 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,10 @@
# Sui Developer Portal
# Sui README

Welcome to Sui, a next generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the [Move](https://github.com/MystenLabs/awesome-move) programming language! Here are some suggested starting points:
Welcome to Sui, a next generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the [Move](https://github.com/MystenLabs/awesome-move) programming language! Find everything you need within the [Sui Developer Guides](doc/src/index.md) and supporting materials.

* To jump right into building smart contract applications on top of Sui, go to [Move Quick Start](https://github.com/MystenLabs/sui/tree/main/doc/src/move.md).
* To experiment with a sample Sui wallet, check out [Wallet Quick Start](https://github.com/MystenLabs/sui/tree/main/doc/src/wallet.md).
* To go deep on how Sui works, read the Sui [white paper](https://github.com/MystenLabs/sui/tree/main/doc/paper/sui.pdf) and check out [Key Concepts](https://github.com/MystenLabs/sui/tree/main/doc/src/key-concepts.md).
<!---* To understand what's possible by browsing examples of full-fledged applications and games built on top of Sui, review the [Demos](TODO).--->
* To understand what's possible by browsing Move code built on top of Sui, review the [examples](https://github.com/MystenLabs/sui/tree/main/sui_programmability/examples/sources)
* To start coding against Sui's REST API's, start [here](https://app.swaggerhub.com/apis/MystenLabs/sui-api/0.1)
* To learn what distinguishes Sui from other blockchain systems, see [What Makes Sui Different?](https://github.com/MystenLabs/sui/tree/main/doc/src/what-makes-sui-different.md).
<!---* To experience Sui's speed and scalability for yourself, try [Benchmarking](TODO).--->
<!---* To see the current status of the Sui software/network and preview what's coming next, read through our [Roadmap](TODO).--->

<!---TODO: Populate and link to the missing pages above or strike the links and references.--->

## Architecture

Sui is a distributed ledger that stores a collection of programmable *[objects](https://github.com/MystenLabs/sui/tree/main/doc/src/objects.md)*, 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](https://github.com/MystenLabs/sui/tree/main/doc/src/transactions.md)* 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.

```mermaid
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
```

Sui authorities agree on and execute transactions in parallel with high throughput using [Byzantine Consistent Broadcast](https://en.wikipedia.org/wiki/Byzantine_fault).

## Move quick start
See the [Move Quick Start](https://github.com/MystenLabs/sui/tree/main/doc/src/move.md) for installation, defining custom objects, object operations (create/destroy/update/transfer/freeze), publishing, and invoking your published code.
<!--- Then deeper: Sui standard library, design patterns, examples. --->

## Wallet quick start
See the [Wallet Quick Start](https://github.com/MystenLabs/sui/tree/main/doc/src/wallet.md) for installation, querying the chain, client setup, sending transfer transactions, and viewing the effects.
<!--- Then deeper: wallet CLI vs client service vs forwarder architecture, how to integrate your code (wallet, indexer, ...) with the client service or forwarder components. --->
* To jump right into building smart contract applications on top of Sui, start at the [Move Smart Contract Quick Start](doc/src/move.md).
* To experiment with a sample Sui wallet, check out [Wallet Quick Start](doc/src/build/wallet.md).
* To understand what's possible by browsing Move code built on top of Sui, review the [examples](sui_programmability/examples).
* To start coding against Sui's REST APIs, start at the [API reference](https://app.swaggerhub.com/apis/arun-koshy/sui-api).
* To learn what distinguishes Sui from other blockchain systems, see [What Makes Sui Different?](doc/src/learn/what-makes-sui-different.md).
* To go deep on how Sui works, read the [Sui Smart Contract Platform](doc/paper/sui.pdf) white paper.

0 comments on commit e66157e

Please sign in to comment.