-
Notifications
You must be signed in to change notification settings - Fork 888
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2147 from chenyanxun/move-1
task6 完成
- Loading branch information
Showing
21 changed files
with
6,965 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# Sui dApp Starter Template | ||
|
||
This dApp was created using `@mysten/create-dapp` that sets up a basic React | ||
Client dApp using the following tools: | ||
|
||
- [React](https://react.dev/) as the UI framework | ||
- [TypeScript](https://www.typescriptlang.org/) for type checking | ||
- [Vite](https://vitejs.dev/) for build tooling | ||
- [Radix UI](https://www.radix-ui.com/) for pre-built UI components | ||
- [ESLint](https://eslint.org/) for linting | ||
- [`@mysten/dapp-kit`](https://sdk.mystenlabs.com/dapp-kit) for connecting to | ||
wallets and loading data | ||
- [pnpm](https://pnpm.io/) for package management | ||
|
||
For a full guide on how to build this dApp from scratch, visit this | ||
[guide](http://docs.sui.io/guides/developer/app-examples/e2e-counter#frontend). | ||
|
||
## Deploying your Move code | ||
|
||
### Install Sui cli | ||
|
||
Before deploying your move code, ensure that you have installed the Sui CLI. You | ||
can follow the [Sui installation instruction](https://docs.sui.io/build/install) | ||
to get everything set up. | ||
|
||
This template uses `testnet` by default, so we'll need to set up a testnet | ||
environment in the CLI: | ||
|
||
```bash | ||
sui client new-env --alias testnet --rpc https://fullnode.testnet.sui.io:443 | ||
sui client switch --env testnet | ||
``` | ||
|
||
If you haven't set up an address in the sui client yet, you can use the | ||
following command to get a new address: | ||
|
||
```bash | ||
sui client new-address secp256k1 | ||
``` | ||
|
||
This well generate a new address and recover phrase for you. You can mark a | ||
newly created address as you active address by running the following command | ||
with your new address: | ||
|
||
```bash | ||
sui client switch --address 0xYOUR_ADDRESS... | ||
``` | ||
|
||
We can ensure we have some Sui in our new wallet by requesting Sui from the | ||
faucet (make sure to replace the address with your address): | ||
|
||
```bash | ||
curl --location --request POST 'https://faucet.testnet.sui.io/gas' \ | ||
--header 'Content-Type: application/json' \ | ||
--data-raw '{ | ||
"FixedAmountRequest": { | ||
"recipient": "<YOUR_ADDRESS>" | ||
} | ||
}' | ||
``` | ||
|
||
### Publishing the move package | ||
|
||
The move code for this template is located in the `move` directory. To publish | ||
it, you can enter the `move` directory, and publish it with the Sui CLI: | ||
|
||
```bash | ||
cd move | ||
sui client publish --gas-budget 100000000 counter | ||
``` | ||
|
||
In the output there will be an object with a `"packageId"` property. You'll want | ||
to save that package ID to the `src/constants.ts` file as `PACKAGE_ID`: | ||
|
||
```ts | ||
export const TESTNET_COUNTER_PACKAGE_ID = "<YOUR_PACKAGE_ID>"; | ||
``` | ||
|
||
Now that we have published the move code, and update the package ID, we can | ||
start the app. | ||
|
||
## Starting your dApp | ||
|
||
To install dependencies you can run | ||
|
||
```bash | ||
pnpm install | ||
``` | ||
|
||
To start your dApp in development mode run | ||
|
||
```bash | ||
pnpm dev | ||
``` | ||
|
||
## Building | ||
|
||
To build your app for deployment you can run | ||
|
||
```bash | ||
pnpm build | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
<!doctype html> | ||
<html lang="en" class="dark-theme" style="color-scheme: dark"> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<title>Sui dApp Starter</title> | ||
|
||
<style> | ||
/* | ||
Josh's Custom CSS Reset | ||
https://www.joshwcomeau.com/css/custom-css-reset/ | ||
*/ | ||
*, | ||
*::before, | ||
*::after { | ||
box-sizing: border-box; | ||
} | ||
* { | ||
margin: 0; | ||
} | ||
body { | ||
line-height: 1.5; | ||
-webkit-font-smoothing: antialiased; | ||
} | ||
img, | ||
picture, | ||
video, | ||
canvas, | ||
svg { | ||
display: block; | ||
max-width: 100%; | ||
} | ||
input, | ||
button, | ||
textarea, | ||
select { | ||
font: inherit; | ||
} | ||
p, | ||
h1, | ||
h2, | ||
h3, | ||
h4, | ||
h5, | ||
h6 { | ||
overflow-wrap: break-word; | ||
} | ||
#root, | ||
#__next { | ||
isolation: isolate; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<div id="root"></div> | ||
<script type="module" src="/src/main.tsx"></script> | ||
</body> | ||
</html> |
34 changes: 34 additions & 0 deletions
34
mover/chenyanxun/code/task6/navi-pro-test/move/counter/Move.lock
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# @generated by Move, please check-in and do not edit manually. | ||
|
||
[move] | ||
version = 3 | ||
manifest_digest = "DE30C35B5C1AFB26D08A6E1857A1405AB1D75C07A9246A0F292CB36722DAD80F" | ||
deps_digest = "F8BBB0CCB2491CA29A3DF03D6F92277A4F3574266507ACD77214D37ECA3F3082" | ||
dependencies = [ | ||
{ id = "Sui", name = "Sui" }, | ||
] | ||
|
||
[[move.package]] | ||
id = "MoveStdlib" | ||
source = { git = "https://gitee.com/MystenLabs/sui.git", rev = "framework/testnet", subdir = "crates\\sui-framework\\packages\\move-stdlib" } | ||
|
||
[[move.package]] | ||
id = "Sui" | ||
source = { git = "https://gitee.com/MystenLabs/sui.git", rev = "framework/testnet", subdir = "crates/sui-framework/packages/sui-framework" } | ||
|
||
dependencies = [ | ||
{ id = "MoveStdlib", name = "MoveStdlib" }, | ||
] | ||
|
||
[move.toolchain-version] | ||
compiler-version = "1.38.0" | ||
edition = "2024.beta" | ||
flavor = "sui" | ||
|
||
[env] | ||
|
||
[env.testnet] | ||
chain-id = "4c78adac" | ||
original-published-id = "0x7d0ab9893ec23f2f53da7ab64a49998fef56ddc7fb8385d3109d0ef26df5608d" | ||
latest-published-id = "0x7d0ab9893ec23f2f53da7ab64a49998fef56ddc7fb8385d3109d0ef26df5608d" | ||
published-version = "1" |
10 changes: 10 additions & 0 deletions
10
mover/chenyanxun/code/task6/navi-pro-test/move/counter/Move.toml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
[package] | ||
name = "counter" | ||
version = "0.0.1" | ||
edition = "2024.beta" | ||
|
||
[dependencies] | ||
Sui = { git = "https://gitee.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "framework/testnet" } | ||
|
||
[addresses] | ||
counter = "0x0" |
36 changes: 36 additions & 0 deletions
36
mover/chenyanxun/code/task6/navi-pro-test/move/counter/sources/counter.move
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
// Copyright (c) Mysten Labs, Inc. | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
/// This example demonstrates a basic use of a shared object. | ||
/// Rules: | ||
/// - anyone can create and share a counter | ||
/// - everyone can increment a counter by 1 | ||
/// - the owner of the counter can reset it to any value | ||
module counter::counter { | ||
/// A shared counter. | ||
public struct Counter has key { | ||
id: UID, | ||
owner: address, | ||
value: u64 | ||
} | ||
|
||
/// Create and share a Counter object. | ||
public fun create(ctx: &mut TxContext) { | ||
transfer::share_object(Counter { | ||
id: object::new(ctx), | ||
owner: ctx.sender(), | ||
value: 0 | ||
}) | ||
} | ||
|
||
/// Increment a counter by 1. | ||
public fun increment(counter: &mut Counter) { | ||
counter.value = counter.value + 1; | ||
} | ||
|
||
/// Set value (only runnable by the Counter owner) | ||
public fun set_value(counter: &mut Counter, value: u64, ctx: &TxContext) { | ||
assert!(counter.owner == ctx.sender(), 0); | ||
counter.value = value; | ||
} | ||
} |
Oops, something went wrong.