Mã thông báo trong ví dụ python

Hướng dẫn này mô tả cách tạo và chuyển NFT trên chuỗi khối Aptos. Việc triển khai Aptos cho các NFT cốt lõi có thể được tìm thấy trong mã thông báo. di chuyển Di chuyển mô-đun

Để tham khảo, xem thêm

  • mint_nft Di chuyển ví dụ về cách airdrop NFT
  • mint_nft. rs Kiểm tra đầu cuối của Rust

Bước 1. Chọn một SDK

Cài đặt SDK ưa thích của bạn từ danh sách bên dưới

  • SDK TypeScript
  • SDK Python
  • SDK rỉ sét

Bước 2. Chạy ví dụ

Mỗi SDK cung cấp một thư mục

cd ~/aptos-core/ecosystem/python/sdk
4. Hướng dẫn này bao gồm ví dụ về
cd ~/aptos-core/ecosystem/python/sdk
5

Sao chép kho lưu trữ

cd ~/aptos-core/ecosystem/python/sdk
6

git clone git@github.com:aptos-labs/aptos-core.git ~/aptos-core

  • bản đánh máy
  • con trăn
  • rỉ sét

Điều hướng đến thư mục mẫu TypeScript SDK

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript

Cài đặt các phụ thuộc cần thiết

pnpm install

Chạy ví dụ TypeScript

cd ~/aptos-core/ecosystem/python/sdk
7

pnpm run simple_nft

Điều hướng đến thư mục Python SDK

cd ~/aptos-core/ecosystem/python/sdk

Cài đặt các phụ thuộc cần thiết

curl -sSL //install.python-poetry.org | python3
poetry update

Chạy ví dụ về Python

cd ~/aptos-core/ecosystem/python/sdk
5

poetry run python -m examples.simple-nft

Sắp ra mắt

Bước 3. Hiểu đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực hiện ví dụ

cd ~/aptos-core/ecosystem/python/sdk
5, mặc dù một số giá trị sẽ khác

=== Addresses ===
Alice: 0xeef95e86c160fa10a71675c6075f44f8f2c6125f57b4b589424f1fbee385f754
Bob: 0x4dcd7b180c123fdb989d10f71fba6c978bda268c2e3660c169bdb55f67aab776

=== Initial Coin Balances ===
Alice: 100000000
Bob: 100000000

=== Creating Collection and Token ===
Alice's collection: {
"description": "Alice's simple collection",
"maximum": "18446744073709551615",
"mutability_config": {
"description": false,
"maximum": false,
"uri": false
},
"name": "Alice's",
"supply": "1",
"uri": "//alice.com"
}
Alice's token balance: 1
Alice's token data: {
"default_properties": {
"map": {
"data": []
}
},
"description": "Alice's simple token",
"largest_property_version": "0",
"maximum": "18446744073709551615",
"mutability_config": {
"description": false,
"maximum": false,
"properties": false,
"royalty": false,
"uri": false
},
"name": "Alice's first token",
"royalty": {
"payee_address": "0xeef95e86c160fa10a71675c6075f44f8f2c6125f57b4b589424f1fbee385f754",
"royalty_points_denominator": "0",
"royalty_points_numerator": "0"
},
"supply": "1",
"uri": "//aptos.dev/img/nyan.jpeg"
}

=== Transferring the token to Bob ===
Alice's token balance: 0
Bob's token balance: 1

=== Transferring the token back to Alice using MultiAgent ===
Alice's token balance: 1
Bob's token balance: 0

Ví dụ này chứng minh

  • Đang khởi tạo REST và máy khách vòi
  • Việc tạo hai tài khoản. Alice và Bob
  • Cấp vốn và tạo tài khoản của Alice và Bob
  • Việc tạo bộ sưu tập và mã thông báo bằng tài khoản của Alice
  • Alice đưa ra một mã thông báo và Bob yêu cầu nó
  • Bob đơn phương gửi mã thông báo cho Alice thông qua giao dịch đa tác nhân

Bước 4. SDK chuyên sâu

  • bản đánh máy
  • con trăn
  • rỉ sét

Xem mã đầy đủ

Xem

cd ~/aptos-core/ecosystem/python/sdk
7 để biết mã hoàn chỉnh khi bạn làm theo các bước bên dưới

Xem mã đầy đủ

Xem

cd ~/aptos-core/ecosystem/python/sdk
5 để biết mã hoàn chỉnh khi bạn làm theo các bước bên dưới

Sắp ra mắt

Bước 4. 1. Khởi tạo client

Trong bước đầu tiên, ví dụ khởi tạo cả ứng dụng khách API và vòi

  • Ứng dụng khách API tương tác với API REST
  • Ứng dụng khách vòi tương tác với dịch vụ Vòi devnet để tạo và tài trợ tài khoản

  • bản đánh máy
  • con trăn
  • rỉ sét

const client = new AptosClient[NODE_URL];
const faucetClient = new FaucetClient[NODE_URL, FAUCET_URL];

Sử dụng ứng dụng khách API, chúng tôi có thể tạo một

curl -sSL //install.python-poetry.org | python3
poetry update
2 mà chúng tôi sử dụng cho các hoạt động mã thông báo phổ biến như tạo bộ sưu tập và mã thông báo, chuyển chúng, xác nhận quyền sở hữu, v.v.

const tokenClient = new TokenClient[client]; 

curl -sSL //install.python-poetry.org | python3
poetry update
3 khởi tạo các giá trị URL như vậy

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
0

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
1

curl -sSL //install.python-poetry.org | python3
poetry update
4 khởi tạo các giá trị này như sau

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
2

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
3

Sử dụng ứng dụng khách API, chúng tôi có thể tạo một

curl -sSL //install.python-poetry.org | python3
poetry update
5 mà chúng tôi sử dụng cho các hoạt động tiền xu phổ biến như chuyển tiền xu và kiểm tra số dư

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
4

Trong ví dụ này, chúng tôi khởi tạo các giá trị URL như vậy

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
5

mẹo

Theo mặc định, các URL cho cả hai dịch vụ đều trỏ đến các dịch vụ devnet của Aptos. Tuy nhiên, chúng có thể được cấu hình với các biến môi trường sau

  • curl -sSL //install.python-poetry.org | python3
    poetry update
    6
  • curl -sSL //install.python-poetry.org | python3
    poetry update
    7

Bước 4. 2. Tạo tài khoản cục bộ

Bước tiếp theo là tạo hai tài khoản cục bộ. Tài khoản đại diện cho cả trạng thái trong và ngoài chuỗi. Trạng thái ngoài chuỗi bao gồm một địa chỉ và cặp khóa công khai/riêng tư được sử dụng để xác thực quyền sở hữu. Bước này trình bày cách tạo trạng thái ngoài chuỗi đó

  • bản đánh máy
  • con trăn
  • rỉ sét

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
6

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
7

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
8

Bước 4. 3. Tạo tài khoản chuỗi khối

Trong Aptos, mỗi tài khoản phải có đại diện trên chuỗi để nhận mã thông báo và tiền xu cũng như tương tác với các dApp khác. Một tài khoản đại diện cho một phương tiện để lưu trữ tài sản; . Ví dụ này tận dụng Vòi để tạo tài khoản của Alice và Bob

  • bản đánh máy
  • con trăn
  • rỉ sét

cd ~/aptos-core/ecosystem/typescript/sdk/examples/typescript
9

pnpm install
0

Vì ví dụ Rust ở đây sử dụng cùng một `transfer-coin. rs` như trong hướng dẫn [Giao dịch đầu tiên của bạn][/tutorials/your-first-transaction], nó tạo nhưng không cấp tiền cho tài khoản của Bob

pnpm install
1

Bước 4. 4. Tạo bộ sưu tập

Bây giờ bắt đầu quá trình tạo mã thông báo. Đầu tiên, người tạo phải tạo một bộ sưu tập để lưu trữ mã thông báo. Một bộ sưu tập có thể chứa không, một hoặc nhiều mã thông báo riêng biệt bên trong nó. Bộ sưu tập không hạn chế các thuộc tính của mã thông báo vì nó chỉ là một bộ chứa

  • bản đánh máy
  • con trăn
  • rỉ sét

Ứng dụng của bạn sẽ gọi

curl -sSL //install.python-poetry.org | python3
poetry update
8

pnpm install
2

Đây là chữ ký hàm của

curl -sSL //install.python-poetry.org | python3
poetry update
8. Nó trả về một hàm băm giao dịch

pnpm install
3

Ứng dụng của bạn sẽ gọi

poetry run python -m examples.simple-nft
0

pnpm install
4

Đây là chữ ký hàm của

poetry run python -m examples.simple-nft
0. Nó trả về một hàm băm giao dịch

pnpm install
5

Sắp ra mắt

Bước 4. 5. Tạo mã thông báo

Để tạo mã thông báo, người tạo phải chỉ định bộ sưu tập được liên kết. Mã thông báo phải được liên kết với bộ sưu tập và bộ sưu tập đó phải có mã thông báo còn lại có thể được đúc. Có nhiều thuộc tính được liên kết với mã thông báo, nhưng API của trình trợ giúp chỉ hiển thị số lượng tối thiểu cần thiết để tạo nội dung tĩnh

  • bản đánh máy
  • con trăn
  • rỉ sét

Ứng dụng của bạn sẽ gọi

poetry run python -m examples.simple-nft
2

pnpm install
6

Đây là chữ ký hàm của

poetry run python -m examples.simple-nft
2. Nó trả về một hàm băm giao dịch

pnpm install
7

Ứng dụng của bạn sẽ gọi

poetry run python -m examples.simple-nft
4

pnpm install
8

Đây là chữ ký hàm của

poetry run python -m examples.simple-nft
4. Nó trả về một hàm băm giao dịch

pnpm install
9

Sắp ra mắt

Bước 4. 6. Đọc mã thông báo và siêu dữ liệu bộ sưu tập

Cả siêu dữ liệu bộ sưu tập và mã thông báo đều được lưu trữ trên tài khoản của người tạo trong

poetry run python -m examples.simple-nft
6 của họ trong một bảng. SDK cung cấp trình bao bọc thuận tiện xung quanh việc truy vấn các bảng cụ thể này

  • bản đánh máy
  • con trăn
  • rỉ sét

Để đọc siêu dữ liệu của bộ sưu tập

pnpm run simple_nft
0

Để đọc siêu dữ liệu của mã thông báo

pnpm run simple_nft
1

Đây là cách

poetry run python -m examples.simple-nft
7 truy vấn siêu dữ liệu mã thông báo

pnpm run simple_nft
2

Để đọc siêu dữ liệu của bộ sưu tập

pnpm run simple_nft
3

Để đọc siêu dữ liệu của mã thông báo

pnpm run simple_nft
4

Đây là cách

poetry run python -m examples.simple-nft
8 truy vấn siêu dữ liệu mã thông báo

pnpm run simple_nft
5

Sắp ra mắt

Bước 4. 7. Đọc số dư mã thông báo

Mỗi mã thông báo trong Aptos là một tài sản riêng biệt. Tài sản thuộc sở hữu của người dùng được lưu trữ trong

poetry run python -m examples.simple-nft
9 của họ. Để có được sự cân bằng

  • bản đánh máy
  • con trăn
  • rỉ sét

pnpm run simple_nft
6

pnpm run simple_nft
7

Sắp ra mắt

Bước 4. 8. Cung cấp và yêu cầu mã thông báo

Nhiều người dùng của các chuỗi khối khác đã nhận được các mã thông báo không mong muốn có thể gây ra bất kỳ điều gì từ sự bối rối tối thiểu đến sự phân nhánh nghiêm trọng. Aptos trao quyền cho từng chủ sở hữu tài khoản để quyết định có nhận chuyển khoản đơn phương hay không. Theo mặc định, chuyển đơn phương không được hỗ trợ. Vì vậy, Aptos cung cấp một khuôn khổ để cung cấp và yêu cầu mã thông báo

Để cung cấp một mã thông báo

  • bản đánh máy
  • con trăn
  • rỉ sét

pnpm run simple_nft
8

pnpm run simple_nft
9

Sắp ra mắt

Để yêu cầu một mã thông báo

  • bản đánh máy
  • con trăn
  • rỉ sét

cd ~/aptos-core/ecosystem/python/sdk
0

cd ~/aptos-core/ecosystem/python/sdk
1

Sắp ra mắt

Bước 4. 9. Chuyển mã thông báo đơn phương an toàn

Để hỗ trợ chuyển mã thông báo đơn phương an toàn, trước tiên người gửi có thể yêu cầu người nhận xác nhận chuyển khoản đang chờ xử lý ngoài chuỗi. Điều này xuất hiện dưới dạng một yêu cầu giao dịch đa tác nhân. Giao dịch đa tác nhân chứa nhiều chữ ký, một chữ ký cho mỗi tài khoản trên chuỗi. Sau đó, Move có thể tận dụng điều này để cấp quyền cấp

=== Addresses ===
Alice: 0xeef95e86c160fa10a71675c6075f44f8f2c6125f57b4b589424f1fbee385f754
Bob: 0x4dcd7b180c123fdb989d10f71fba6c978bda268c2e3660c169bdb55f67aab776

=== Initial Coin Balances ===
Alice: 100000000
Bob: 100000000

=== Creating Collection and Token ===
Alice's collection: {
"description": "Alice's simple collection",
"maximum": "18446744073709551615",
"mutability_config": {
"description": false,
"maximum": false,
"uri": false
},
"name": "Alice's",
"supply": "1",
"uri": "//alice.com"
}
Alice's token balance: 1
Alice's token data: {
"default_properties": {
"map": {
"data": []
}
},
"description": "Alice's simple token",
"largest_property_version": "0",
"maximum": "18446744073709551615",
"mutability_config": {
"description": false,
"maximum": false,
"properties": false,
"royalty": false,
"uri": false
},
"name": "Alice's first token",
"royalty": {
"payee_address": "0xeef95e86c160fa10a71675c6075f44f8f2c6125f57b4b589424f1fbee385f754",
"royalty_points_denominator": "0",
"royalty_points_numerator": "0"
},
"supply": "1",
"uri": "//aptos.dev/img/nyan.jpeg"
}

=== Transferring the token to Bob ===
Alice's token balance: 0
Bob's token balance: 1

=== Transferring the token back to Alice using MultiAgent ===
Alice's token balance: 1
Bob's token balance: 0
0 cho tất cả những người đã ký giao dịch. Đối với chuyển mã thông báo, quy trình này đảm bảo bên nhận thực sự muốn nhận mã thông báo này mà không yêu cầu sử dụng khung chuyển mã thông báo được mô tả ở trên

Chủ Đề