-
Notifications
You must be signed in to change notification settings - Fork 48
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,10 @@ | ||
# Walrus Devnet Move contracts | ||
# Walrus Testnet Move contracts | ||
<!-- Update latest package ID --> | ||
|
||
This is the Move source code for the Walrus Devnet instance. We provide this so developers can | ||
This is the Move source code for the Walrus Testnet instance. We provide this so developers can | ||
experiment with building Walrus apps that require Move extensions. This code is published on Sui | ||
Testnet at package ID `0x7e12d67a52106ddd5f26c6ff4fe740ba5dea7cfc138d5b1d33863ba9098aa6fe`. | ||
|
||
**A word of caution:** Walrus Testnet will use new Move packages with struct layouts and function | ||
**A word of caution:** Walrus Mainnet will use new Move packages with struct layouts and function | ||
signatures that may not be compatible with this package. Move code that builds against this package | ||
will need to rewritten. | ||
will need to adapted. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# 2024-10-17 Testnet Update | ||
<!-- TODO write this section --> | ||
|
||
* Deletable blobs and reclaiming storage | ||
Check failure on line 4 in docs/blog/04_testnet_update.md GitHub Actions / Lint all markdown filesUnordered list style
|
||
* External Storage nodes | ||
Check failure on line 5 in docs/blog/04_testnet_update.md GitHub Actions / Lint all markdown filesUnordered list style
|
||
* WAL Token used for payments and WAL <> SUI faucet | ||
Check failure on line 6 in docs/blog/04_testnet_update.md GitHub Actions / Lint all markdown filesUnordered list style
|
||
* Staking and Unstaking with Staking App | ||
Check failure on line 7 in docs/blog/04_testnet_update.md GitHub Actions / Lint all markdown filesUnordered list style
|
||
* Epoch change and shard migration | ||
Check failure on line 8 in docs/blog/04_testnet_update.md GitHub Actions / Lint all markdown filesUnordered list style
|
||
* Explorer | ||
Check failure on line 9 in docs/blog/04_testnet_update.md GitHub Actions / Lint all markdown filesUnordered list style
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
<!-- markdownlint-disable proper-names --> | ||
# TESTNET TERMS OF SERVICE - WALRUS | ||
<!-- Update for testnet --> | ||
|
||
Last updated: June 13, 2024 | ||
|
||
By using Mysten Labs Devnet software, technologies, tools, and other services (collectively | ||
“Devnet”), you agree to the general Terms of Service and these additional Devnet Terms of Service | ||
(together, the “Terms”). If you do not agree, do not participate in Devnet. If you are using Devnet | ||
on behalf of an organization, you represent and warrant that you are an authorized representative of | ||
that organization and have the authority to bind that business or entity to the Terms. | ||
|
||
## Eligibility Criteria | ||
|
||
You may use Devnet only if you: | ||
|
||
- Are 18 years or older and capable of forming a binding contract with us. | ||
- Are not otherwise barred from participating in Devnet under applicable law. | ||
|
||
We may, at our discretion, introduce new or change existing eligibility criteria or conditions we | ||
deem appropriate. Devnet may operate in certain phases, and your participation in any one phase of | ||
Devnet does not guarantee that you will be selected for any other phases of Devnet. | ||
|
||
## Duration | ||
|
||
Devnet will commence on the date we prescribe and continue until terminated at our discretion. We | ||
may change, discontinue, or wipe, temporarily or permanently, all or any part of Devnet, at any | ||
time and without notice at our discretion, including, without limitation, the modification of the | ||
presence, amounts, or any other conditions applicable to data you have stored within Devnet, without | ||
any liability to you or other Devnet users. | ||
|
||
## No Warranty | ||
|
||
Mysten Labs provides the Devnet platform solely as a developer preview. Devnet is provided "as is" | ||
and "with all faults." We make no warranties, express or implied, regarding the reliability, | ||
accuracy, performance, or fitness for a particular purpose of the service provided. You accept all | ||
risks associated with the use of Devnet and agree that Mysten Labs, its affiliates, and its | ||
employees shall not be liable for any damages, whether direct, indirect, incidental, special, | ||
consequential, or punitive, arising out of the use or inability to use the service, including but | ||
not limited to lost profits, loss of business, or data loss. | ||
|
||
No employee or representative of Mysten Labs is authorized to make any warranties or representations | ||
beyond those stated in this agreement. Any statements made by employees or representatives of Mysten | ||
Labs regarding the service shall not be construed as warranties or representations, and customers | ||
agree to indemnify and hold harmless Mysten Labs from any such statements. | ||
|
||
Any deficiencies or errors in the Devnet platform shall not constitute a breach of this agreement, | ||
and customers agree to waive any right to seek a refund or compensation based on such deficiencies | ||
or errors. This "as is, no warranty" provision shall survive the termination or expiration of any | ||
other agreements between you and Mysten Labs. |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,12 +15,13 @@ their meaning. | |
## Walrus system information | ||
|
||
Information about the Walrus system is available through the `walrus info` command. For example, | ||
<!-- (TODO - update with final) --> | ||
|
||
```console | ||
$ walrus info | ||
|
||
Walrus system information | ||
Current epoch: 0 | ||
Current epoch: 54 | ||
|
||
Storage nodes | ||
Number of nodes: 10 | ||
|
@@ -31,18 +32,19 @@ Maximum blob size: 13.3 GiB (14,273,391,930 B) | |
Storage unit: 1.00 KiB | ||
|
||
Approximate storage prices per epoch | ||
Price per encoded storage unit: 50 MIST | ||
Price to store metadata: 0.0031 SUI | ||
Marginal price per additional 1 MiB (w/o metadata): 241,950 MIST | ||
Price per encoded storage unit: 5 FROST | ||
Price to store metadata: 0.0003 WAL | ||
Marginal price per additional 1 MiB (w/o metadata): 24,195 FROST | ||
|
||
Total price for example blob sizes | ||
16.0 MiB unencoded (135 MiB encoded): 0.0069 SUI per epoch | ||
512 MiB unencoded (2.33 GiB encoded): 0.122 SUI per epoch | ||
13.3 GiB unencoded (60.5 GiB encoded): 3.174 SUI per epoch | ||
16.0 MiB unencoded (135 MiB encoded): 0.0007 WAL per epoch | ||
512 MiB unencoded (2.33 GiB encoded): 0.012 WAL per epoch | ||
13.3 GiB unencoded (60.5 GiB encoded): 0.317 WAL per epoch | ||
|
||
``` | ||
|
||
gives an overview of the number of storage nodes and shards in the system, the maximum blob size, | ||
and the current cost in (Testnet) SUI for storing blobs. | ||
and the current cost in (Testnet) WAL for storing blobs. (Note: 1 WAL = 1 000 000 000 FROST) | ||
|
||
Additional information such as encoding parameters and sizes, BFT system information, and | ||
information on the storage nodes and their shard distribution can be viewed with the `--dev` | ||
|
@@ -94,6 +96,50 @@ By default the blob data is written to the standard output. The `--out <OUT>` CL | |
can be used to specify an output file name. The `--rpc-url <URL>` (or `-r`) may be used to specify | ||
a Sui RPC node to use instead of the one set in the wallet configuration or the default one. | ||
|
||
## Reclaiming space via deletable blobs | ||
|
||
By default `walrus store` uploads a blob and Walrus will keep it available until after its expiry | ||
epoch. Not even the uploader may delete it beforehand. However, optionally, the store command | ||
may be invoked with the `--deletable` flag, to indicate the blob may be deleted before its expiry | ||
by the owner of the Sui blob object representing the blob. Deletable blobs are indicated as such | ||
in the Sui events that certify them, and should not be relied upon for availability by others. | ||
|
||
A deletable blob may be deleted with the command: | ||
``` | ||
Check failure on line 108 in docs/usage/client-cli.md GitHub Actions / Lint all markdown filesFenced code blocks should be surrounded by blank lines
Check failure on line 108 in docs/usage/client-cli.md GitHub Actions / Lint all markdown filesFenced code blocks should have a language specified
|
||
walrus delete --blob-id <BLOB_ID> | ||
``` | ||
Check failure on line 110 in docs/usage/client-cli.md GitHub Actions / Lint all markdown filesFenced code blocks should be surrounded by blank lines
|
||
Optionally the delete command can be invoked by specifying a `--file <PATH>` option, to derive the | ||
blob ID from a file, or `--object-id <SUI_ID>` to delete the blob in the Sui blob object specified. | ||
|
||
The `delete` command reclaims the storage object associated with the deleted blob, which is | ||
re-used to store new blobs. The delete operation provides | ||
flexibility around managing storage costs and re-using storage. | ||
|
||
The delete operation has limited utility for privacy: It only deletes slivers from the current | ||
epoch storage nodes, and subsequent epoch storage nodes, if no other user has uploaded a copy of | ||
the same blob. If another copy of the same blob exists in Walrus the delete operation will not | ||
make the blob unavailable for download, and `walrus read` invocations will download it. Copies of | ||
the public blob may be cached or downloaded by users, and these copies are not deleted. | ||
|
||
```admonish danger title="Delete reclaims space only" | ||
**All blobs stored in Walrus are public and discoverable by all.** The `delete` command will | ||
not delete slivers if other copies of the blob are stored on Walrus possibly by other users. | ||
It does not delete blobs from caches, slivers from past storage nodes, or copies | ||
that could have been made by users before the blob was deleted. | ||
``` | ||
|
||
## Blob ID utilities | ||
|
||
The `walrus blob-id <FILE>` may be used to derive the blob ID of any file. The blob ID is a | ||
commitment to the file, and any blob with the same ID will decode to the same content. The blob | ||
ID is a 256 bit number and represented on some Sui explorer as a decimal large number. The | ||
command `walrus convert-blob-id <BLOB_ID_DECIMAL>` may be used to convert it to a base64 URL safe | ||
encoding used by the command line tools and other APIs. | ||
|
||
The `walrus list-blobs` command lists all the non expired Sui blob object that the current account | ||
owns, including their blob ID, object ID, and metadata about expiry and deletable status. | ||
The option `--include-expired` also lists expired blob objects. | ||
|
||
## Changing the default configuration | ||
|
||
Use the `--config` option to specify a custom path to the | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ patterns (see [the next chapter](./interacting.md)). This chapter describes the | |
of the Walrus client. | ||
|
||
```admonish note | ||
Note that our Walrus Devnet uses Sui **Testnet** for coordination. | ||
Note that the Walrus Testnet uses Sui **Testnet** for coordination. | ||
``` | ||
|
||
## Prerequisites | ||
|
@@ -131,6 +131,36 @@ In addition to the latest version of the `walrus` binary, the GCS bucket also co | |
versions. An overview in XML format is available at | ||
<https://storage.googleapis.com/mysten-walrus-binaries/>. | ||
|
||
## Testnet WAL faucet | ||
|
||
The Walrus Testnet uses Testnet WAL tokens to buy storage and stake. Testnet WAL tokens have no | ||
value and can be exchanged for some Testnet SUI tokens, which also have no value, thought the | ||
command: | ||
|
||
``` | ||
Check failure on line 140 in docs/usage/setup.md GitHub Actions / Lint all markdown filesFenced code blocks should have a language specified
|
||
walrus get-wal | ||
``` | ||
|
||
You can check you have received Testnet WAL by checking the Sui balances: | ||
|
||
``` | ||
sui client balance | ||
╭─────────────────────────────────────────╮ | ||
│ Balance of coins owned by this address │ | ||
├─────────────────────────────────────────┤ | ||
│ ╭─────────────────────────────────────╮ │ | ||
│ │ coin balance (raw) balance │ │ | ||
│ ├─────────────────────────────────────┤ │ | ||
│ │ Sui 8869252670 8.86 SUI │ │ | ||
│ │ WAL 500000000 0.50 WAL │ │ | ||
│ ╰─────────────────────────────────────╯ │ | ||
╰─────────────────────────────────────────╯ | ||
``` | ||
|
||
By default 0.5 SUI are exchanged for 0.5 WAL, but a different amount of SUI may be exchanged | ||
using the `--amount` option, and a specific coin ID may be used through the `--exchange-id`. | ||
The `walrus get-wal --help` command provides more information about those. | ||
|
||
## Configuration | ||
|
||
A single parameter is required to configure Walrus, namely the ID of the [system | ||
|
@@ -153,6 +183,8 @@ you need to use the `--config` option when running the `walrus` binary. | |
|
||
### Advanced configuration (optional) | ||
|
||
<!-- TODO: Latest config --> | ||
|
||
The configuration file currently supports the following parameters: | ||
|
||
```yaml | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# Example Move package depending on Walrus | ||
|
||
A simple example of depending on the Walrus Devnet Move package. | ||
A simple example of depending on the Walrus Testnet Move package. |