Skip to content

Commit

Permalink
完成task3
Browse files Browse the repository at this point in the history
  • Loading branch information
1pzq committed Jul 31, 2024
1 parent a0630d0 commit 9172d60
Show file tree
Hide file tree
Showing 9 changed files with 188 additions and 12 deletions.
8 changes: 7 additions & 1 deletion mover/0xhutou/code/task3/myfirstnft/Move.lock
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ dependencies = [
]

[move.toolchain-version]
compiler-version = "1.25.1"
compiler-version = "1.29.2"
edition = "2024.beta"
flavor = "sui"

Expand All @@ -32,3 +32,9 @@ chain-id = "35834a8a"
original-published-id = "0x700945ac0913a6f8659d0e440857fb74fa0959d9c7003501d8b311f7536978a8"
latest-published-id = "0x700945ac0913a6f8659d0e440857fb74fa0959d9c7003501d8b311f7536978a8"
published-version = "1"

[env.testnet]
chain-id = "4c78adac"
original-published-id = "0x6e30e2e240c97917fd2b7c7ca5a591f2ca79e74fe2e1092b413687ea88adc230"
latest-published-id = "0x6e30e2e240c97917fd2b7c7ca5a591f2ca79e74fe2e1092b413687ea88adc230"
published-version = "1"
7 changes: 0 additions & 7 deletions mover/0xhutou/code/task3/myfirstnft/sources/myfirstnft.move
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,6 @@ module myfirstnft::myfirstnft {
/// One-Time-Witness for the module.
public struct MYFIRSTNFT has drop {}

/// In the module initializer one claims the `Publisher` object
/// to then create a `Display`. The `Display` is initialized with
/// a set of fields (but can be modified later) and published via
/// the `update_version` call.
///
/// Keys and values are set in the initializer but could also be
/// set after publishing if a `Publisher` object was created.
fun init(otw: MYFIRSTNFT, ctx: &mut TxContext) {
let keys = vector[
utf8(b"name"),
Expand Down
40 changes: 40 additions & 0 deletions mover/1pzq/code/task3/my_nft/Move.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# @generated by Move, please check-in and do not edit manually.

[move]
version = 2
manifest_digest = "9787EC7B3F0B631FD328C6E69F0E6D1B03DD3363C3819C95ACE51411F0B92394"
deps_digest = "F8BBB0CCB2491CA29A3DF03D6F92277A4F3574266507ACD77214D37ECA3F3082"
dependencies = [
{ name = "Sui" },
]

[[move.package]]
name = "MoveStdlib"
source = { git = "https://github.com/MystenLabs/sui.git", rev = "framework/testnet", subdir = "crates/sui-framework/packages/move-stdlib" }

[[move.package]]
name = "Sui"
source = { git = "https://github.com/MystenLabs/sui.git", rev = "framework/testnet", subdir = "crates/sui-framework/packages/sui-framework" }

dependencies = [
{ name = "MoveStdlib" },
]

[move.toolchain-version]
compiler-version = "1.29.2"
edition = "2024.beta"
flavor = "sui"

[env]

[env.testnet]
chain-id = "4c78adac"
original-published-id = "0x2248d5ab22fd89d3790742f6182307f53b3c42872e4b28147e8c749808ecf67e"
latest-published-id = "0x2248d5ab22fd89d3790742f6182307f53b3c42872e4b28147e8c749808ecf67e"
published-version = "1"

[env.mainnet]
chain-id = "35834a8a"
original-published-id = "0xae98f7099f2417d0a32e1089d6ea36f138926a62a7eba85f57cda01815a530cf"
latest-published-id = "0xae98f7099f2417d0a32e1089d6ea36f138926a62a7eba85f57cda01815a530cf"
published-version = "1"
38 changes: 38 additions & 0 deletions mover/1pzq/code/task3/my_nft/Move.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
[package]
name = "my_nft"
edition = "2024.beta" # edition = "legacy" to use legacy (pre-2024) Move
# license = "" # e.g., "MIT", "GPL", "Apache 2.0"
# authors = ["..."] # e.g., ["Joe Smith ([email protected])", "John Snow ([email protected])"]

[dependencies]
Sui = { git = "https://github.com/MystenLabs/sui.git", subdir = "crates/sui-framework/packages/sui-framework", rev = "framework/testnet" }

# For remote import, use the `{ git = "...", subdir = "...", rev = "..." }`.
# Revision can be a branch, a tag, and a commit hash.
# MyRemotePackage = { git = "https://some.remote/host.git", subdir = "remote/path", rev = "main" }

# For local dependencies use `local = path`. Path is relative to the package root
# Local = { local = "../path/to" }

# To resolve a version conflict and force a specific version for dependency
# override use `override = true`
# Override = { local = "../conflicting/version", override = true }

[addresses]
my_nft = "0x0"
nft_protocol = "0xbdd1811dd6e8feb2c7311d193bbf92cb45d3d6a8fb2b6ec60dc19adf20c18796"

# Named addresses will be accessible in Move as `@name`. They're also exported:
# for example, `std = "0x1"` is exported by the Standard Library.
# alice = "0xA11CE"

[dev-dependencies]
# The dev-dependencies section allows overriding dependencies for `--test` and
# `--dev` modes. You can introduce test-only dependencies here.
# Local = { local = "../path/to/dev-build" }

[dev-addresses]
# The dev-addresses section allows overwriting named addresses for the `--test`
# and `--dev` modes.
# alice = "0xB0B"

74 changes: 74 additions & 0 deletions mover/1pzq/code/task3/my_nft/sources/kite.move
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
module my_nft::kite {
use sui::tx_context::{sender, TxContext};
use std::string::{utf8, String};
use sui::transfer::public_transfer;
use sui::object::UID;

use sui::package;
use sui::display;

public struct Hero has key, store {
id: UID,
name: String,
image_url: String,
}

public struct KITE has drop {}

fun init(otw: KITE, ctx: &mut TxContext) {
let keys = vector[
utf8(b"name"),
utf8(b"link"),
utf8(b"image_url"),
utf8(b"description"),
utf8(b"project_url"),
utf8(b"creator"),
];

let values = vector[
utf8(b"{name}"),
utf8(b"https://sui-heroes.io/hero/{id}"),
utf8(b"{image_url}"),
utf8(b"A true Hero of the Sui ecosystem!"),
utf8(b"https://sui-heroes.io"),
utf8(b"Unknown Sui Fan")
];

let publisher = package::claim(otw, ctx);

let mut display = display::new_with_fields<Hero>(
&publisher, keys, values, ctx
);

display::update_version(&mut display);

public_transfer(publisher, sender(ctx));
public_transfer(display, sender(ctx));
}

public fun mint(name: String, image_url: String, ctx: &mut TxContext) {
let id = object::new(ctx);
transfer::public_transfer(Hero { id, name, image_url },sender(ctx))
}

public entry fun transfer_nft(
nft: Hero,
recipient: address,
_: &mut TxContext
) {
transfer::public_transfer(nft, recipient);
}
}
/*
Transaction Digest: 41qRoqcNHKga4Pe5omDX1YXogBBecoWEuZ59f2WqnUZA
PackageID
0xae98f7099f2417d0a32e1089d6ea36f138926a62a7eba85f57cda01815a530cf
minthash 9nzkgf24R5orUQ62QUBADoQ9dMfmV4pcy78GvxscStmx
objectID1 0xb92d62ee0a1c32b128404dba3c79216d7de2e310f3210e4ab767845ce89e8215
transferhash 94FEeT5PqGQcXL7dH9LRQzp4KszhRzwB9EhzZQFYPaC9
*/
6 changes: 6 additions & 0 deletions mover/1pzq/code/task3/my_nft/sources/my_nft.move
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/*
/// Module: my_nft
module my_nft::my_nft {
}
*/
19 changes: 19 additions & 0 deletions mover/1pzq/code/task3/my_nft/tests/my_nft_tests.move
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
#[test_only]
module my_nft::my_nft_tests {
// uncomment this line to import the module
// use my_nft::my_nft;
const ENotImplemented: u64 = 0;
#[test]
fun test_my_nft() {
// pass
}
#[test, expected_failure(abort_code = ::my_nft::my_nft_tests::ENotImplemented)]
fun test_my_nft_fail() {
abort ENotImplemented
}
}
*/
Binary file added mover/1pzq/images/task31.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions mover/1pzq/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
- [x] `Faucet Coin` address2 mint hash:DDnCwMynRpA6Ns8zgd93AQXrfnGAGk3PB23LjQFBMBTL

## 03 move NFT
- [] nft package id :
- [] nft object id :
- [] 转账 nft hash:
- [] scan上的NFT截图:![Scan截图](./images/你的图片地址)
- [x] nft package id :0xae98f7099f2417d0a32e1089d6ea36f138926a62a7eba85f57cda01815a530cf
- [x] nft object id : 0xb92d62ee0a1c32b128404dba3c79216d7de2e310f3210e4ab767845ce89e8215
- [x] 转账 nft hash:94FEeT5PqGQcXL7dH9LRQzp4KszhRzwB9EhzZQFYPaC9
- [x] scan上的NFT截图:![Scan截图](./images/task31.png)

## 04 Move Game
- [] game package id :
Expand Down

0 comments on commit 9172d60

Please sign in to comment.