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

NameTypeDescription

network

String

ETH network(mainnet, rinkeby, ropsten)を指定

operator

String

operator Addressを指定

owner

String

ownerのETHAddress(wallet address)を指定

assetContract

String

NFTのContractAddressを指定

Headers

NameTypeDescription

Content-Type

String

application/json

boolean

Block API

Get Latest Block

GET https://api.mch.plus/block/:network/latest

最新ブロックナンバーを取得

Path Parameters

NameTypeDescription

network

String

ETH network (mainnet, rinkeby ropsten)を指定

Headers

NameTypeDescription

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

NameTypeDescription

network

String

ETH network(mainnet,rinkeby,ropsten)を指定

num

number

Block Numberを指定

Headers

NameTypeDescription

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

NameTypeDescription

network

String

Headers

NameTypeDescription

Content-Type

String

application/json

210000000000

Inventory API

Get Assets

GET https://api.mch.plusinventory/:network/:owner/:assetContract

wner addressのコントラクトアドレス毎のインベントリを取得

Path Parameters

NameTypeDescription

network

String

ETH network(mainnet, rinkeby, ropsten)を指定

assetContract

String

NFTのcontractAddressを指定

owner

String

owner addressを指定

Headers

NameTypeDescription

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

NameTypeDescription

network

String

ETH network(mainnet, rinkeby, ropsten)を指定

owner

String

owner addressを指定

Headers

NameTypeDescription

Content-Type

String

application/json

["0xdceaf1652a131f32a821468dc03a92df0edd86ea"]

Owner of API

Owner of

GET https://api.mch.plus/:network/:assetContract/:id

アセットidからOwnerを取得します

Path Parameters

NameTypeDescription

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

NameTypeDescription

address

String

NFTのアドレスを指定する

id

number

NFTのIDを指定する

Query Parameters

NameTypeDescription

format

String

raw もしくは json のフォーマットを指定する。 rawフォーマットの場合、発行者や署名情報が取得できる。 デフォルトではjsonが使用される。

Headers

NameTypeDescription

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

NameTypeDescription

address

String

NFTのアドレスを指定する

id

number

NFTのIDを指定する

Query Parameters

NameTypeDescription

iss

String

発行者のアドレスを指定する

format

String

raw もしくは json のフォーマットを指定する。 rawフォーマットの場合、発行者や署名情報が取得できる。 デフォルトではjsonが使用される。

Headers

NameTypeDescription

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

NameTypeDescription

address

String

NFTのアドレスを指定する

id

String

NFTのIDを指定する

Headers

NameTypeDescription

Content-Type

String

application/json

Request Body

NameTypeDescription

data

object

Base64エンコードしたMetadata、発行者アドレス、署名を送信する。 詳細は以下を参照。

{ {
    "iss": "0xd868711BD9a2C6F1548F5f4737f71DA67d821090", 
    "sig": "0x01234567890abcdef", 
    "metadata": "ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K"
}  }  

入力データには、署名した発行者(iss)、EIP-191: Signed Data Standard形式で署名した署名(sig)、Base64でエンコードしたmetadataを含ませる必要があります。

sample body
{ {
    "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

NameTypeDescription

address

String

アカウントのアドレスを指定する

Query Parameters

NameTypeDescription

Format

String

raw もしくは json のフォーマットを指定する。 rawフォーマットの場合、発行者や署名情報が取得できる。 デフォルトではjsonが使用される。

Headers

NameTypeDescription

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

NameTypeDescription

address

String

アカウントのアドレスを指定する。

Query Parameters

NameTypeDescription

iss

String

発行者のアドレスを指定する。

format

String

raw もしくは json のフォーマットを指定する。 rawフォーマットの場合、発行者や署名情報が取得できる。 デフォルトではjsonが使用される。

Headers

NameTypeDescription

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

NameTypeDescription

address

String

アカウントのアドレスを指定する

Headers

NameTypeDescription

Content-Type

String

application/json

Request Body

NameTypeDescription

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