# 代币(Tokens)

# 引入模组

from ethereum_scan.features.obj import Key, Tokens

# 根据ERC-20合约地址, 获取代币总量

# 方法说明

该方法获取指定合约地址获取代币总量

# 参数说明

参数 描述 参数类型 是否必须 默认值
contractaddress 需要检索的ERC20合约地址 string

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币总量
token_total = tokens.get_erc20_token_total_supply_by_contract_address(contractaddress="需要检索的合约地址")
# 打印ETH余额
print(eth_balance)

# 运行结果

159600.0000

# 根据ERC-20合约地址, 获取目标地址持有的代币余额

# 方法说明

该方法根据ERC-20合约地址,获取目标地址的代币余额

# 参数说明

参数 描述 参数类型 是否必须 默认值
contractaddress 需要检索的ERC20合约地址 string
address 需要检索的ERC20地址 string

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币总量
token_total = tokens.get_erc20_token_account_balance_for_token_contract_address(contractaddress="需要检索的合约地址", address="需要检索的ETH地址")
# 打印ETH余额
print(token_total)

# 运行结果

159600.0000

# 根据ERC-20合约地址和块号, 获取历史代币总量

# 方法说明

TIP

PRO专属

该方法用于根据ERC-20的合约地址和区块号,来获取代币的历史总量

# 参数说明

参数 描述 参数类型 是否必须 默认值
contractaddress 需要检索的合约地址 string
blockno 区块号 int

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币总量
token_total = tokens.get_historical_erc20_token_total_supply_by_contract_address_and_block_no(contractaddress="需要检索的合约地址", blockno="区块号")
# 打印ETH余额
print(token_total)

# 运行结果

159600.0000

# 根据ERC-20合约地址和块号, 获取目标地址的历史持有的代币余额

# 方法说明

TIP

PRO专属

WARNING

该方法调用限制: 2次/秒

该方法用于根据ERC-20合约地址和块号, 获取目标地址的历史持有的代币余额

# 参数说明

参数 描述 参数类型 是否必须 默认值
contractaddress 合约地址 string
address ETH地址 string
blockno 区块编号 int

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币总量
token_total = tokens.get_historical_erc20_token_account_balance_for_token_contract_address_by_block_no(contractaddress="需要检索的合约地址", blockno="区块号")
# 打印ETH余额
print(token_total)

# 运行结果

159600.0000

# 根据ERC-20合约地址, 获取代币持有者列表

# 方法说明

TIP

PRO专属

WARNING

最多返回10000条数据

该方法通过指定的交易Hash值获取该Hash的内部交易事务

# 参数说明

参数 描述 参数类型 是否必须 默认值
contractaddress 合约地址 string
page 页数 int 1
offset 数量 int 100

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取交易列表
token_holder_list = tokens.get_token_holder_list_by_contract_address(contractaddress="合约地址")
# 遍历交易列表
for i in token_holder_list:
    print(i)

# 运行结果

{
    "blockNumber":"1743059",
    "timeStamp":"1466489498",
    "from":"0x2cac6e4b11d6b58f6d3c1c9d5fe8faa89f60e5a2",
    "to":"0x66a1c3eaf0f1ffc28d209c0763ed0ca614f3b002",
    "value":"7106740000000000",
    "contractAddress":"",
    "input":"",
    "type":"call",
    "gas":"2300",
    "gasUsed":"0",
    "isError":"0",
    "errCode":""
}

# 根据ERC-20合约地址, 获取代币信息

# 方法说明

TIP

PRO专属

该方法通过ERC-20合约地址, 获取代币信息

# 参数说明

参数 描述 参数类型 是否必须 默认值
contractaddress 合约地址 string

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币总量
token_info = tokens.get_token_info_by_contract_address(contractaddress="需要检索的合约地址")
# 打印代币信息
print(token_info)

# 运行结果

{
    "contractAddress":"0x0e3a2a1f2146d86a604adc220b4967a898d7fe07",
    "tokenName":"Gods Unchained Cards",
    "symbol":"CARD",
    "divisor":"0",
    "tokenType":"ERC721",
    "totalSupply":"6962498",
    "blueCheckmark":"true",
    "description":"A TCG on the Ethereum blockchain that uses NFT's to bring real ownership to in-game assets.",
    "website":"https://godsunchained.com/",
    "email":"",
    "blog":"https://medium.com/@fuelgames",
    "reddit":"https://www.reddit.com/r/GodsUnchained/",
    "slack":"",
    "facebook":"https://www.facebook.com/godsunchained/",
    "twitter":"https://twitter.com/godsunchained",
    "bitcointalk":"",
    "github":"",
    "telegram":"",
    "wechat":"",
    "linkedin":"",
    "discord":"https://discordapp.com/invite/DKGr2pW",
    "whitepaper":"",
    "tokenPriceUSD":"0.000000000000000000"
}

# 根据ERC-20地址, 获取代币持有量

# 方法说明

TIP

PRO专属

根据ERC-20地址, 获取代币持有量

# 参数说明

参数 描述 参数类型 是否必须 默认值
address ETH地址 string 0
page 页数 int 1
offset 数量 int 100

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币列表
token_list = tokens.get_token_info_by_contract_address(address="需要检索的ETH地址")
# 打印代币信息
for i in token_list:
    print(i)

# 运行结果

{
    "TokenAddress":"0xffffffff2ba8f66d4e51811c5190992176930278",
    "TokenName":"Furucombo",
    "TokenSymbol":"COMBO",
    "TokenQuantity":"1861606940000000000",
    "TokenDivisor":"18"
},
{
    "TokenAddress":"0x53a1e9912323b8016424d6287286e3b6de263f76",
    "TokenName":"PUTIN Token",
    "TokenSymbol":"PTT",
    "TokenQuantity":"3500000000000000000000",
    "TokenDivisor":"18"
},
{
    "TokenAddress":"0xb753428af26e81097e7fd17f40c88aaa3e04902c",
    "TokenName":"Spice",
    "TokenSymbol":"SFI",
    "TokenQuantity":"7",
    "TokenDivisor":"18"
},
{
    "TokenAddress":"0x1b40183efb4dd766f11bda7a7c3ad8982e998421",
    "TokenName":"VesperToken",
    "TokenSymbol":"VSP",
    "TokenQuantity":"962",
    "TokenDivisor":"18"
},
{
    "TokenAddress":"0x37e83a94c6b1bdb816b59ac71dd02cf154d8111f",
    "TokenName":"PhotoChromic",
    "TokenSymbol":"PHCR",
    "TokenQuantity":"4608452961264910063288",
    "TokenDivisor":"18"
}

# 根据ERC-721地址, 获取代币持有量

TIP

PRO专属

# 方法说明

根据ERC-721地址, 获取代币持有量

# 参数说明

参数 描述 参数类型 是否必须 默认值
address ETH地址 string 0
page 页数 int 1
offset 数量 int 100

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币列表
token_list = tokens.get_address_erc721_token_holding(address="需要检索的ETH地址")
# 打印代币信息
for i in token_list:
    print(i)

# 运行结果

{
    "TokenAddress":"0x49cf6f5d44e70224e2e23fdcdd2c053f30ada28b",
    "TokenName":"CloneX",
    "TokenSymbol":"CloneX",
    "TokenQuantity":"52"
},
{
    "TokenAddress":"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d",
    "TokenName":"BoredApeYachtClub",
    "TokenSymbol":"BAYC",
    "TokenQuantity":"1"
},
{
    "TokenAddress":"0x60e4d786628fea6478f785a6d7e704777c86a7c6",
    "TokenName":"MutantApeYachtClub",
    "TokenSymbol":"MAYC",
    "TokenQuantity":"1"
},
{
    "TokenAddress":"0xed5af388653567af2f388e6224dc7c4b3241c544",
    "TokenName":"Azuki",
    "TokenSymbol":"AZUKI",
    "TokenQuantity":"1"
},
{
    "TokenAddress":"0x7bd29408f11d2bfc23c34f18275bbf23bb716bc7",
    "TokenName":"Meebits",
    "TokenSymbol":"⚇",
    "TokenQuantity":"1"
}

# 根据ERC-721合约地址, 获取代币库存

# 方法说明

TIP

PRO专属

该方法根据ERC-721合约地址, 获取代币库存

# 参数说明

参数 描述 参数类型 是否必须 默认值
address 需要检索的ETH地址 string
contractaddress 需要检索的智能合约地址 string
page 页数 int 1
offset 数量 int 100

# 示例代码

from ethereum_scan.features.obj import Key, Tokens
# 实例化密钥类
key = Key(api_key="你申请的API-KEY")
# 实例化代币类
tokens = Tokens(key)
# 获取代币列表
token_list = tokens.get_address_erc721_token_inventory_by_contract_address(address="需要检索的ETH地址", contractaddress="需要检索的合约地址")
# 打印代币信息
for i in token_list:
    print(i)

# 运行结果

{
    "TokenAddress":"0xed5af388653567af2f388e6224dc7c4b3241c544",
    "TokenId":"5401"
},
{
    "TokenAddress":"0xed5af388653567af2f388e6224dc7c4b3241c544",
    "TokenId":"7411"
},
{
    "TokenAddress":"0xed5af388653567af2f388e6224dc7c4b3241c544",
    "TokenId":"453"
},
{
    "TokenAddress":"0xed5af388653567af2f388e6224dc7c4b3241c544",
    "TokenId":"8080"
},
{
    "TokenAddress":"0xed5af388653567af2f388e6224dc7c4b3241c544",
    "TokenId":"4255"
}