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>;
spender
が owner
からまだ引き出すことができる額を返します。
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>;
指定したアドレス to
に value
量のトークンを転送します。
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 関数が呼び出されたときに転送イベントが発生します。