Skip to content

Commit

Permalink
task3 done
Browse files Browse the repository at this point in the history
  • Loading branch information
ajin.liu committed Jul 20, 2024
1 parent 9558701 commit e37864c
Show file tree
Hide file tree
Showing 6 changed files with 156 additions and 4 deletions.
34 changes: 34 additions & 0 deletions mover/ajin8898/code/task3/ajin8898_nft/Move.lock
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 = 2
manifest_digest = "2D772037ACFE21DDB837F7D87777BDC037D9CF088B0E6F801CBF675F216D8C7A"
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.0"
edition = "2024.beta"
flavor = "sui"

[env]

[env.mainnet]
chain-id = "35834a8a"
original-published-id = "0x93ff41e4086c4d855c2ee4ad3390049ea9b5cefa74d432d2d97043d34613329d"
latest-published-id = "0x93ff41e4086c4d855c2ee4ad3390049ea9b5cefa74d432d2d97043d34613329d"
published-version = "1"
37 changes: 37 additions & 0 deletions mover/ajin8898/code/task3/ajin8898_nft/Move.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[package]
name = "ajin8898_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]
ajin8898_nft = "0x0"

# 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"

62 changes: 62 additions & 0 deletions mover/ajin8898/code/task3/ajin8898_nft/sources/ajin8898_nft.move
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/// Module: ajin8898_nft
module ajin8898_nft::ajin8898_nft {

use std::string::{Self, utf8, String};
use sui::url::{Self, Url};
use sui::display;
use sui::package;

public struct Nft has key, store {
id: UID,
name: String,
description: String,
creator: address,
url: Url,
}

public struct AJIN8898_NFT has drop {}

#[allow(lint(share_owned))]
fun init(otw: AJIN8898_NFT, ctx: &mut TxContext) {
let publisher = package::claim(otw, ctx);

let keys = vector[
utf8(b"name"),
utf8(b"description"),
utf8(b"creator"),
utf8(b"image_url"),
];

let values = vector[
utf8(b"{name}"),
utf8(b"{description}"),
utf8(b"{creator}"),
utf8(b"{url}"),
];

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

display::update_version(&mut display);

transfer::public_share_object(display);
transfer::public_transfer(publisher, tx_context::sender(ctx));
}

entry fun mint(recipient:address, ctx: &mut TxContext) {
let nft = Nft {
id: object::new(ctx),
name: string::utf8(b"ajin8898"),
description: string::utf8(b"ajin8898 NFT"),
creator: tx_context::sender(ctx),
url: url::new_unsafe_from_bytes(
b"https://avatars.githubusercontent.com/u/175763852?v=4"
)
};
transfer::public_transfer(nft, recipient);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
#[test_only]
module ajin8898_nft::ajin8898_nft_tests {
// uncomment this line to import the module
// use ajin8898_nft::ajin8898_nft;
const ENotImplemented: u64 = 0;
#[test]
fun test_ajin8898_nft() {
// pass
}
#[test, expected_failure(abort_code = ::ajin8898_nft::ajin8898_nft_tests::ENotImplemented)]
fun test_ajin8898_nft_fail() {
abort ENotImplemented
}
}
*/
Binary file added mover/ajin8898/images/task03.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/ajin8898/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
- [] `Faucet Coin` address2 mint hash: 3omRmf1nsoDqRuwKyLXpo2sP9hoyPNoiSSXnwt1HpSDG

## 03 move NFT
- [] nft package id :
- [] nft object id :
- [] 转账 nft hash:
- [] scan上的NFT截图:![Scan截图](./images/你的图片地址)
- [] nft package id : 0x93ff41e4086c4d855c2ee4ad3390049ea9b5cefa74d432d2d97043d34613329d
- [] nft object id : 0x93ff41e4086c4d855c2ee4ad3390049ea9b5cefa74d432d2d97043d34613329d
- [] 转账 nft hash: BPPzmjDYBtnoPEHRzMALmhMUuhtCjzRbfASBrUEyRoBv
- [] scan上的NFT截图:![Scan截图](./images/task03.png)

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

0 comments on commit e37864c

Please sign in to comment.