#smart-contracts #token #address #owner #name #xrc20 #xrc721

bin+lib xdc3_rust

xdc3_rust SDK 支持智能合约、XRC20 & XRC721

5 个版本

0.1.4 2022年2月3日
0.1.3 2022年1月28日
0.1.2 2022年1月28日
0.1.1 2022年1月27日
0.1.0 2022年1月25日

#35 in #owner

MIT 许可证

54KB
1K SLoC

xdc3_rust

xdc3_rust SDK 支持智能合约、XRC20 & XRC721。

使用方法

将以下依赖项添加到您的 Cargo.toml

[dependencies]
xdc3_rust = "0.1.4"

此 SDK 支持以下读/写操作:

  |    XRC20 Token: Read methods                    |   XRC20 Token: Write methods                          |
  |     ---                                         |   ---                                                 | 
  |     name()                                      |   approve(receiverAddress , amount)                   |
  |     symbol()                                    |   transfer(recipient, amount)                         |
  |     decimal()                                   |   transferFrom(sender, recipient, amount)             |
  |     totalSupply()                               |   increaseAllowance(spender, addedValue)              |
  |     balanceOf(account)                          |   decreaseAllowance(spender, subtractedValue)         |
  |     allowance(owner, spender)                   |                                                       |
  |                                                 |                                                       |
                                            
  |    XRC721 Token: Read methods                   |   XRC721 Token: Write methods                         |
  |     ----                                        |   ----                                                |
  |     name()                                      |   setApprovalForAll(operatorAddress, booleanValue)    |
  |     symbol()                                    |   approve(receiverAddress , tokenId)                  |
  |     totalSupply()                               |   transferFrom(recipient, tokenId)                    |
  |     balanceOf(owner address)                    |   safeTransferFrom(spender, tokenId)                  |
  |     ownerOf(tokenId)                            |                                                       |
  |     tokenURI(tokenId)                           |                                                       |
  |     tokenByIndex(index)                         |                                                       |
  |     tokenOfOwnerByIndex(ownerAddress,index)     |                                                       |
  |     supportInterface(interfaceId)               |                                                       |
  |     getApproved(tokenId)                        |                                                       |
  |     isApprovedForAll(ownerAddress,operator)     |                                                       |
  |                                                 |                                                       |
             

环境变量

在 Rust 项目的根目录下创建一个 .env 文件,将钱包和端点信息放入其中,如下所示:APOTHEM_ADDRESS = wss://ws.apothem.network

XRC20 示例

#![allow(unused_imports)]

use std::io::stdin;

mod lib;
use lib::xrc20::name;

#[allow(unused_must_use)]
fn main() {

   let mut token_address = String::new();
   println!("enter token address: ");
   stdin().read_line(&mut token_address);

   let token_name = name::token_name(token_address).unwrap();
   println!("token name: {}", token_name);
}

此示例返回指定地址的名称。

XRC721 示例

#![allow(unused_imports)]

use std::io::stdin;

mod lib;
use lib::xrc721::name::token_name;

#[allow(unused_must_use)]
fn main() {

   let mut token_address = String::new();
   println!("enter token address: ");
   stdin().read_line(&mut token_address);

   let token_name = name::token_name(token_address).unwrap();
   println!("token name: {}", token_name);
}

传输方式

  • WebSocket 传输

类型

  • U256,H256,Address(H160) 的类型
  • 交易类型(来自 Parity 的 Transaction

依赖项

~20–32MB
~526K SLoC