Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

task3 #1995

Closed
wants to merge 5 commits into from
Closed

task3 #1995

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion mover/fengfengxiong123/code/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,22 @@ https://github.com/move-cn/letsmove
# 配置代理拉取代码
git clone -c http.proxy="127.0.0.1:2334" https://github.com/fengfengxiong123/letsmove.git

# 配置git代理
git config --global https.proxy https://127.0.0.1:2334
git config --global http.proxy http://127.0.0.1:2334

git config --global --unset http.proxy
git config --global --unset https.proxy

# 查看版本
sui -V

# 零测试网sui币
sui client faucet

# 添加环境
sui client new-env --alias devnet --rpc https://fullnode.devnet.sui.io:443

# 正在使用的地址
sui client active-address

Expand Down Expand Up @@ -183,4 +193,7 @@ faucet coin TreasuryCap obj id : 0x56d0bb3c37de365e23a2c56180601da49d8b23794b4
```

## 使用sui cli转账
sui client transfer-sui --to 0x2e312e10390700d045ae462dcac090354bda4a81dc151c0d538a250beb0492f5 --amount 13266772 --sui-coin-object-id 0x1feb5ad79c303c52cca592272203b259119fc3fb02e037209ceaf9570474ce08 --gas-budget 100000000
sui client transfer-sui --to 0x2e312e10390700d045ae462dcac090354bda4a81dc151c0d538a250beb0492f5 --amount 13266772 --sui-coin-object-id 0x1feb5ad79c303c52cca592272203b259119fc3fb02e037209ceaf9570474ce08 --gas-budget 100000000

## task3
摘要: Hjn95SsHsm59si6zVhcLamy7wL7KS8Vx6YYbbXuQecXZ
34 changes: 34 additions & 0 deletions mover/fengfengxiong123/code/task3/my_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 = "1C7E4E6784885553F41F77ACBDC5306913E332B17CDD69A828BE8590288858D2"
deps_digest = "F8BBB0CCB2491CA29A3DF03D6F92277A4F3574266507ACD77214D37ECA3F3082"
dependencies = [
{ name = "Sui" },
]

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

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

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

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

[env]

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

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

48 changes: 48 additions & 0 deletions mover/fengfengxiong123/code/task3/my_nft/sources/nft2.move
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
module my_nft::nft2 {
use std::string::String;
use std::string::utf8;
use sui::display;
// use sui::object;
use sui::package;
// use sui::transfer::transfer;
use sui::transfer::public_transfer;

public struct NFT2 has drop {}

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

fun init(otw: NFT2, ctx: &mut TxContext) {
let keys = vector[
utf8(b"name"),
utf8(b"description"),
utf8(b"image_url"),
];
let values = vector[
utf8(b"{name}"),
utf8(b"this is {name}'s NFT"),
utf8(b"{image_url}"),
];
let publisher = package::claim(otw, ctx);
let mut display = display::new_with_fields<MyNft2>(&publisher, keys, values, ctx);

display.update_version();

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

public entry fun mint(addr: address, ctx: &mut TxContext) {
let nft = MyNft2 {
id: object::new(ctx),
name: utf8(b"fengfengxiong123"),
image_url: utf8(
b"https://avatars.githubusercontent.com/u/46967327?u=d074eb812d53a9d64a78464af56e0a801cfbbbf2&v=4"
)
};
public_transfer(nft, addr)
}
}
19 changes: 19 additions & 0 deletions mover/fengfengxiong123/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
}
}
*/
26 changes: 26 additions & 0 deletions mover/fengfengxiong123/code/task3/mynft/Move.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# @generated by Move, please check-in and do not edit manually.

[move]
version = 3
manifest_digest = "8616F2E3855F9CD22C6339699001728147605815419FEB1EF09E72CF5A05E332"
deps_digest = "F8BBB0CCB2491CA29A3DF03D6F92277A4F3574266507ACD77214D37ECA3F3082"
dependencies = [
{ id = "Sui", name = "Sui" },
]

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

[[move.package]]
id = "Sui"
source = { git = "https://github.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.37.1"
edition = "2024.beta"
flavor = "sui"
37 changes: 37 additions & 0 deletions mover/fengfengxiong123/code/task3/mynft/Move.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[package]
name = "mynft"
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]
mynft = "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"

23 changes: 23 additions & 0 deletions mover/fengfengxiong123/code/task3/mynft/sources/dao.move
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
module mynft::dao{
use nft_protocol::attributes::Attributes;
use nft_protocol::collection;
use sui::url::Url;

public struct DAO has drop{}

public struct DaoNFT has key,store{
id:UID,
name:String,
description:String,
url:Url,
attributes:Attributes,
}

fun init(otw:DAO,ctx:&mut TxContext){
let (collection,mint_cap) = collection::create_with_mint_cap<DAO,DaoNFT>(
&otw,option::none(),ctx
);
transfer::public_share_object(collection);
transfer::public_share_object(mint_cap);
}
}
18 changes: 18 additions & 0 deletions mover/fengfengxiong123/code/task3/mynft/tests/mynft_tests.move
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*
#[test_only]
module mynft::mynft_tests;
// uncomment this line to import the module
// use mynft::mynft;

const ENotImplemented: u64 = 0;

#[test]
fun test_mynft() {
// pass
}

#[test, expected_failure(abort_code = ::mynft::mynft_tests::ENotImplemented)]
fun test_mynft_fail() {
abort ENotImplemented
}
*/
40 changes: 40 additions & 0 deletions mover/fengfengxiong123/code/task4/info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 属性描述
属性 描述
尺寸 城堡尺寸:小、中、大。
种族 五大种族:人类、精灵、兽人、哥布林、僵尸。
等级 城堡等级,初始为1,最高可达10。
经验池 用于存储升级所需的经验值。
金库 用于招募士兵的金币。
基本经济力 由尺寸和等级决定的基本经济力,影响金库金币的增长速度。
基本攻击力 由尺寸、种族和等级决定的基本攻击力,影响战斗结果。
基本防御力 由尺寸、种族和等级决定的基本防御力,影响战斗结果。
士兵 士兵数量影响城堡的总体攻击力和防御力。

# 第一次publish
Transaction Digest: 31rxmShXbNGwQF9QzAndwBFjbpZZGxHvu7BDGWy4mmeo

Gas Payment: ID: 0x04455e8c0a121e3dad7be4689bd90e76e945077461a89f1a89752ce433b3a83d

Created Objects:
ID: 0x0e5750157aa2b8be510a7d001f02c875e007cb6ea8cd80ee288909ca38b7f001
ID: 0x3dbbdaa64a8ebc42aed258c05e99b21b67651f5fd451df8ec75be835e9948d2a
ID: 0x4b4a4e329978096d6ad67738ea2c24f516f21d62daff0942f7b8792842b11f6f
ID: 0x50740e46fb186b8f7df5cd9c076aec2854ede156ac3c49c4b8d550c1c5b6bef5
ID: 0xb830dda2564638025da467a6020302f94bf13c4ef8e7efb9b11b82e3152470c5
ID: 0xce45582f76b8c0a4d8b31aa39ed3a99669c9197cacc8f8872e93d310682ca723

Gas Cost Summary: │
│ Storage Cost: 35651600 MIST │
│ Computation Cost: 1000000 MIST │
│ Storage Rebate: 978120 MIST │
│ Non-refundable Storage Fee: 9880 MIST

Published Objects: │
│ ┌── │
│ │ PackageID: 0x50740e46fb186b8f7df5cd9c076aec2854ede156ac3c49c4b8d550c1c5b6bef5 │
│ │ Version: 1 │
│ │ Digest: DVpAx8UGUMYembN46hqrBbnfDdf8ZSV3jFb7Aay1MyAU │
│ │ Modules: castle, core, utils │
│ └──

Amount: -35673480
34 changes: 34 additions & 0 deletions mover/fengfengxiong123/code/task4/move_castle/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 = 3
manifest_digest = "0C7444F44AF1EEFB338BD6EC187E86D28D12A0987CEAC854A21DE73421433031"
deps_digest = "F8BBB0CCB2491CA29A3DF03D6F92277A4F3574266507ACD77214D37ECA3F3082"
dependencies = [
{ id = "Sui", name = "Sui" },
]

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

[[move.package]]
id = "Sui"
source = { git = "https://github.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.37.1"
edition = "2024.beta"
flavor = "sui"

[env]

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