NFTPLUSのAPIについて
NFTPLUS 各種APIについての説明となります。
NFTPLUSのAPIは非商用の場合、どなたでもご利用いただけます。商用の場合はご連絡くださいませ。 なお、非商用による不具合等により生じたいかなる損害に関しまして当社は一切責任を負いません。また予告なくAPIやサービスを変更、停止する場合がありますこと、ご了承ください。
以下が各種APIとなります。
Approval API
proxyIsApprovalForAll
GET
https://api.mch.plus/approval/:network/:assetContract/:owner/:operator
isApproval状態を確認するAPIです
Path Parameters
network
String
ETH network(mainnet, rinkeby, ropsten)を指定
operator
String
operator Addressを指定
owner
String
ownerのETHAddress(wallet address)を指定
assetContract
String
NFTのContractAddressを指定
Headers
Content-Type
String
application/json
boolean
Block API
Get Latest Block
GET
https://api.mch.plus/block/:network/latest
最新ブロックナンバーを取得
Path Parameters
network
String
ETH network (mainnet, rinkeby ropsten)を指定
Headers
Content-Type
String
application/json
{ "name": "Cake's name", "recipe": "Cake's recipe name", "cake": "Binary cake"}
get time
GET
/block/:network/time/:num
ブロックナンバーのtimestampを取得
Path Parameters
network
String
ETH network(mainnet,rinkeby,ropsten)を指定
num
number
Block Numberを指定
Headers
Content-Type
String
application/json
1
gas API
Get Suggested Gas Price
GET
https://api.mch.plus/gas/:network/suggested-price
Gas priceの取得
Path Parameters
network
String
Headers
Content-Type
String
application/json
210000000000
Inventory API
Get Assets
GET
https://api.mch.plusinventory/:network/:owner/:assetContract
wner addressのコントラクトアドレス毎のインベントリを取得
Path Parameters
network
String
ETH network(mainnet, rinkeby, ropsten)を指定
assetContract
String
NFTのcontractAddressを指定
owner
String
owner addressを指定
Headers
Content-Type
String
application/json
{"contract":"0x273f7f8e6489682df756151f5525576e322d51a3","id":20400214,"owner":"0xa8141206b6b9d122f0bff10e1641e173a672e29d"}
Get Contracts
GET
https://api.mch.plus inventory/:network/:owner
owner addressが持つアセットのコントラクトアドレスを取得
Path Parameters
network
String
ETH network(mainnet, rinkeby, ropsten)を指定
owner
String
owner addressを指定
Headers
Content-Type
String
application/json
["0xdceaf1652a131f32a821468dc03a92df0edd86ea"]
Owner of API
Owner of
GET
https://api.mch.plus/:network/:assetContract/:id
アセットidからOwnerを取得します
Path Parameters
network
String
ETH network(mainnet, rinkeby, ropsten)を指定
assetContract
String
コントラクトアドレスを指定
id
String
アセットidを指定
{0xa8141206B6b9d122f0bFf10e1641e173A672e29D
Metadata API
Ethereum NFT metadata
Get Multiple NFT Metadata
GET
https://api.mch.plus/metadata/ethereum/mainnet/:address/:id
指定したNFTのMetadataを取得できます。
Path Parameters
address
String
NFTのアドレスを指定する
id
number
NFTのIDを指定する
Query Parameters
format
String
raw
もしくは json
のフォーマットを指定する。 raw
フォーマットの場合、発行者や署名情報が取得できる。 デフォルトではjson
が使用される。
Headers
Content-Type
String
application/json
{
"0x51C36baAa8b0e6CF45e2E1A77E84E3c0D1713F97": {
"name": "Awesome asset",
"description": "Great"
}
}
Get NFT Metadata
GET
https://api.mch.plus/metadata/mainnet/:address/:id?iss=:issuer
発行者を指定してNFT Metadataを取得できます。
Path Parameters
address
String
NFTのアドレスを指定する
id
number
NFTのIDを指定する
Query Parameters
iss
String
発行者のアドレスを指定する
format
String
raw
もしくは json
のフォーマットを指定する。 raw
フォーマットの場合、発行者や署名情報が取得できる。 デフォルトではjson
が使用される。
Headers
Content-Type
String
application/json
{
"name": "Awesome asset",
"description": "Great"
}
Post NFT Metadata
POST
https://api.mch.plus/metadata/mainnet/:address/:id
You can post new metadata with issuer and signature.
Path Parameters
address
String
NFTのアドレスを指定する
id
String
NFTのIDを指定する
Headers
Content-Type
String
application/json
Request Body
data
object
Base64エンコードしたMetadata、発行者アドレス、署名を送信する。 詳細は以下を参照。
{ {
"iss": "0xd868711BD9a2C6F1548F5f4737f71DA67d821090",
"sig": "0x01234567890abcdef",
"metadata": "ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K"
} }
入力データには、署名した発行者(iss)、EIP-191: Signed Data Standard形式で署名した署名(sig)、Base64でエンコードしたmetadataを含ませる必要があります。
{ {
"iss": "0xd868711BD9a2C6F1548F5f4737f71DA67d821090",
"sig": "0x01234567890abcdef",
"metadata": "ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K"
} }
$ echo -n ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K \
| base64 -d
{
"name": "Awesome asset",
"description": "Great"
}
Ethereum account metadata
Get Multiple Account Metadata
GET
https://api.mch.plus/metadata/ethereum/mainnet/:address
指定したアドレスにあるMetadataを全て取得します
Path Parameters
address
String
アカウントのアドレスを指定する
Query Parameters
Format
String
raw
もしくは json
のフォーマットを指定する。
raw
フォーマットの場合、発行者や署名情報が取得できる。
デフォルトではjson
が使用される。
Headers
Content-Type
String
application/json
{
"0x51C36baAa8b0e6CF45e2E1A77E84E3c0D1713F97": {
"name": "Awesome asset",
"description": "Great"
}
}
Get Account Metadata
GET
https://api.mch.plus/metadata/ethereum/mainnet/:address?iss=:issuer
発行者を指定してMetadataを取得できます。
Path Parameters
address
String
アカウントのアドレスを指定する。
Query Parameters
iss
String
発行者のアドレスを指定する。
format
String
raw
もしくは json
のフォーマットを指定する。 rawフォーマットの場合、発行者や署名情報が取得できる。 デフォルトではjson
が使用される。
Headers
Content-Type
String
application/json
{
"name": "Awesome asset",
"description": "Great"
}
Post Account Metadata
POST
https://beta-api.mch.plus/metadata/ethereum/mainnet/:address
アカウントにMetadataを登録できます。登録にはEOAアカウントによる署名が必要です。
Path Parameters
address
String
アカウントのアドレスを指定する
Headers
Content-Type
String
application/json
Request Body
data
String
Base64エンコードしたMetadata、発行アドレス、署名を送信する
詳細は以下を参照。
"ok"
入力データには、署名した発行者(iss)、EIP-191: Signed Data Standard形式で署名した署名(sig)、Base64でエンコードしたmetadataを含ませる必要があります。
{
"iss": "0xd868711BD9a2C6F1548F5f4737f71DA67d821090",
"sig": "0x01234567890abcdef",
"metadata": "ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K"
}
$ echo -n ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K \
| base64 -d
{
"name": "Awesome asset",
"description": "Great"
}
ERC 721 Converter Contract
NFT Converterコントラクトを提供いたします。 開発者は2つのNFTコントラクトAliceとBobで対となるTokenIDを登録します。 利用者は、このコントラクトにトランザクションを発行することで、Alice NFTからBob NFTへのアセット交換が行われます。
ただいま、Smart Contractのソースコードを公開準備中です。
詳しくはお問い合わせまでご相談ください。
Last updated