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;