メインコンテンツまでスキップ

ERC721-Basic

概要

Ethereum 上で最も流通している NFT(ノン・ファンジブル・トークン)規格である、ERC721 をサポートしたトークンの発行及び操作・データ取得を可能にするライブラリです。

NFT を発行や、発行した NFT Collection へのアイテムの登録や譲渡を可能にします。

インストール方法

npm install @gusdk/erc721-basic

利用方法

import { ERC721Basic, ERC721Basic__factory} from "@gusdk/erc721-basic"
import {BigNumber, ethers, Wallet} from "ethers"

const provider = new ethers.providers.JsonRpcProvider({
url: 'https://sandbox1.japanopenchain.org:8545/'
})

// use the concrete contract factory if you need to operate on the bytecode (ie. deploy)
async function deployTestToken(ownerPK: string): Promise<ERC721Basic> {
const owner = new Wallet(ownerPK, provider);
return new ERC721Basic__factory(owner).deploy(
"TEST123",
"TEST123",
);
}

// to call existing contracts, a factory for both the concrete contract and for the interface
// can be used since the ABI is the same
async function getTokenBalance(walletAddress: string, tokenAddress: string): Promise<BigNumber> {
const token = ERC721Basic__factory.connect(tokenAddress, provider);
return token.balanceOf(walletAddress);
}

機能

name

name(): Promise<string>;

トークンの名前を返します。

symbol

symbol(): Promise<string>;

トークンのシンボルを返します。

totalSupply

totalSupply(): Promise<BigNumber>;

トークンの総供給量を返します。

balanceOf

balanceOf(account: PromiseOrValue<string>): Promise<BigNumber>;

指定されたアカウント account の残高を返します。

approve

approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>): Promise<ContractTransaction>;

NFT の承認されたアドレスを変更または再確認します。

getApproved

getApproved(tokenId: PromiseOrValue<BigNumberish>): Promise<string>

指定された単一の NFT の承認されたアドレスを取得します。

isApprovedForAll

isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>): Promise<boolean>;

指定されたアドレスが他のアドレスの承認済みオペレーターであるかどうかをクエリします。

ownerOf

ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;

指定された NFT の所有者を見つけます。

safeMint

safeMint(to: PromiseOrValue<string>, uri: PromiseOrValue<string>): Promise<void>;

NFT をマイントします。

safeTransferFrom

"safeTransferFrom(address,address,uint256)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>): Promise<void>;

or

"safeTransferFrom(address,address,uint256,bytes)"(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, data: PromiseOrValue<BytesLike>): Promise<void>;

NFT の所有権を 1 つのアドレスから別のアドレスに移動します。

setApprovalForAll

setApprovalForAll(operator: PromiseOrValue<string>, approved: PromiseOrValue<boolean>): Promise<void>;

サードパーティー ("operator") が管理できるように承認を有効または無効にします。

tokenURI

tokenURI(tokenId: PromiseOrValue<BigNumberish): Promise<string>;

指定されたアセット用の一意の Uniform Resource Identifier (URI)。

totalSupply

totalSupply(): Promise<BigNumber>;

このコントラクトでトラッキングされている NFT の数を数えます。

transferFrom

transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>): Promise<void>;

NFT の所有権を移動します。

transferOwnership

transferOwnership(newOwner: PromiseOrValue<string>): Promise<void>;

契約の所有権を新しいアカウント (新しいオーナー) に移動します。現在のオーナーのみが呼び出せます。

owner

owner(): Promise<string>;

現在のオーナーのアドレスを返します。

renounceOwnership

renounceOwnership(): Promise<void>;

契約を所有者なしの状態にします。これ以降、onlyOwner 関数を呼び出すことはできません。現在のオーナーのみが呼び出せます。

supportsInterface

supportsInterface(interfaceId: PromiseOrValue<BytesLike>): Promise<boolean>;

EIP165 の関数。

Events

Transfer

Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): TransferEventFilter;

tokenId トークンが _from から _to に転送されたときに発生します。

Approval

Approval(owner?: PromiseOrValue<string> | null, approved?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): ApprovalEventFilter;

tokenId トークンが _from から _to に転送されたときに発生します。

ApprovalForAll

ApprovalForAll(owner?: PromiseOrValue<string> | null, operator?: PromiseOrValue<string> | null, approved?: null): ApprovalForAllEventFilter;

オーナーがオペレーターにすべてのアセットを管理することを許可または拒否したときに発生します。

OwnershipTransferred

OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;