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

ERC20-Basic

概要

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

インストール方法

npm install @gusdk/erc20-basic

利用方法

import { ERC20Basic, ERC20Basic__factory} from "erc20-basic-sdk"
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<ERC20Basic> {
const owner = new Wallet(ownerPK, provider);
return new ERC20Basic__factory(owner).deploy(
"TEST123",
"TEST123",
100,
18
);
}

// 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 = ERC20Basic__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 のアカウント残高を返します。

decimals

decimals(): Promise<number>;

トークンの小数点以下の桁数を返します。

allowance

allowance(owner: PromiseOrValue<string>, spender: PromiseOrValue<string>): Promise<BigNumber>;

spenderowner からまだ引き出すことができる額を返します。

approve

approve(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>): Promise<ContractTransaction>;

spender があなたのアカウントから複数回引き出すことができるように許可します。最大額は value です。この関数が再度呼び出されると、現在の許可額が value で上書きされます。

decreaseAllowance

decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>): Promise<ContractTransaction>;

spender が転送可能なトークン数を減らします。

increaseAllowance

decreaseAllowance(spender: PromiseOrValue<string>, subtractedValue: PromiseOrValue<BigNumberish>): Promise<ContractTransaction>;

spender が転送可能なトークン数を増やします。

transfer

transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>): Promise<ContractTransaction>;

指定したアドレス tovalue 量のトークンを転送します。

transferFrom

transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>): Promise<ContractTransaction>;

指定したアドレス from から指定したアドレス to に value 量のトークンを転送します。

Events

Approval

Approval(owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null): ApprovalEventFilter

Approval f関数が呼び出されたときに承認イベントが発生します。

Transfer

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

Transfer 関数が呼び出されたときに転送イベントが発生します。