NFTPLUS+ Document
  • はじめに
  • NFTPLUSの提供サービスについて
    • NFTPLUSのAPIについて
    • NFTPLUS Authについて
      • 登録申請
      • 認証フロー
      • 1. メッセージ署名によるログイン
        • API
        • NFTPLUS 認証画面
      • 2. トークン取得
        • API
      • 3. ID Tokenによるユーザーの検証
        • API
      • 4. Userinfo
        • API
        • 電話番号認証
          • NFTPLUS 共通画面
        • 居住国登録
        • マジックリンク(QR)ログイン機能について
          • NFTPLUS共通認証画面
    • NFTPLUS Torusについて
      • 申し込み方法および精算について
      • 参考認証画面&ソースコード
  • ソース等の提供について
    • ゲームエンジンソース
    • 在庫連動型ダッチオークション
    • コンバートについて
    • NFTPLUS パートナータイトルのAPIについて
  • LINKS
    • NFTPLUS 公式サイト
    • NFTPLUS 公式Twitter
    • NFTPLUS 公式Twitter(英語版)
    • Contact
Powered by GitBook
On this page
  • Approval API
  • proxyIsApprovalForAll
  • Block API
  • Get Latest Block
  • get time
  • gas API
  • Get Suggested Gas Price
  • Inventory API
  • Get Assets
  • Get Contracts
  • Owner of API
  • Owner of
  • Metadata API
  • Get Multiple NFT Metadata
  • Get NFT Metadata
  • Post NFT Metadata
  • Get Multiple Account Metadata
  • Get Account Metadata
  • Post Account Metadata
  • ERC 721 Converter Contract
  1. NFTPLUSの提供サービスについて

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

Name
Type
Description

network

String

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

operator

String

operator Addressを指定

owner

String

ownerのETHAddress(wallet address)を指定

assetContract

String

NFTのContractAddressを指定

Headers

Name
Type
Description

Content-Type

String

application/json

boolean

Block API

Get Latest Block

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

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

Path Parameters

Name
Type
Description

network

String

ETH network (mainnet, rinkeby ropsten)を指定

Headers

Name
Type
Description

Content-Type

String

application/json

{    "name": "Cake's name",    "recipe": "Cake's recipe name",    "cake": "Binary cake"}
{    "message": "Ain't no cake like that."}

get time

GET /block/:network/time/:num

ブロックナンバーのtimestampを取得

Path Parameters

Name
Type
Description

network

String

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

num

number

Block Numberを指定

Headers

Name
Type
Description

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

Name
Type
Description

network

String

Headers

Name
Type
Description

Content-Type

String

application/json

210000000000

Inventory API

Get Assets

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

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

Path Parameters

Name
Type
Description

network

String

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

assetContract

String

NFTのcontractAddressを指定

owner

String

owner addressを指定

Headers

Name
Type
Description

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

Name
Type
Description

network

String

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

owner

String

owner addressを指定

Headers

Name
Type
Description

Content-Type

String

application/json

["0xdceaf1652a131f32a821468dc03a92df0edd86ea"]

Owner of API

Owner of

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

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

Path Parameters

Name
Type
Description

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

Name
Type
Description

address

String

NFTのアドレスを指定する

id

number

NFTのIDを指定する

Query Parameters

Name
Type
Description

format

String

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

Headers

Name
Type
Description

Content-Type

String

application/json

{
  "0x51C36baAa8b0e6CF45e2E1A77E84E3c0D1713F97": {
    "name": "Awesome asset",
    "description": "Great"
  }
}
{
    "message": "Not found"
}

Get NFT Metadata

GET https://api.mch.plus/metadata/mainnet/:address/:id?iss=:issuer

発行者を指定してNFT Metadataを取得できます。

Path Parameters

Name
Type
Description

address

String

NFTのアドレスを指定する

id

number

NFTのIDを指定する

Query Parameters

Name
Type
Description

iss

String

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

format

String

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

Headers

Name
Type
Description

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

Name
Type
Description

address

String

NFTのアドレスを指定する

id

String

NFTのIDを指定する

Headers

Name
Type
Description

Content-Type

String

application/json

Request Body

Name
Type
Description

data

object

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

{ {
    "iss": "0xd868711BD9a2C6F1548F5f4737f71DA67d821090", 
    "sig": "0x01234567890abcdef", 
    "metadata": "ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K"
}  }  
$ echo -n ewogICAgIm5hbWUiOiAiQXdlc29tZSBhc3NldCIsCiAgICAiZGVzY3JpcHRpb24iOiAiR3JlYXQiCn0K \
| base64 -d
{
    "name": "Awesome asset",
    "description": "Great"
}

入力データには、署名した発行者(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

Name
Type
Description

address

String

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

Query Parameters

Name
Type
Description

Format

String

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

Headers

Name
Type
Description

Content-Type

String

application/json

{
  "0x51C36baAa8b0e6CF45e2E1A77E84E3c0D1713F97": {
    "name": "Awesome asset",
    "description": "Great"
  }
}
{
    "message": "Not found"
}

Get Account Metadata

GET https://api.mch.plus/metadata/ethereum/mainnet/:address?iss=:issuer

発行者を指定してMetadataを取得できます。

Path Parameters

Name
Type
Description

address

String

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

Query Parameters

Name
Type
Description

iss

String

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

format

String

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

Headers

Name
Type
Description

Content-Type

String

application/json

{
  "name": "Awesome asset",
  "description": "Great"
}
{
    "message": "Not found"
}

Post Account Metadata

POST https://beta-api.mch.plus/metadata/ethereum/mainnet/:address

アカウントにMetadataを登録できます。登録にはEOAアカウントによる署名が必要です。

Path Parameters

Name
Type
Description

address

String

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

Headers

Name
Type
Description

Content-Type

String

application/json

Request Body

Name
Type
Description

data

String

Base64エンコードしたMetadata、発行アドレス、署名を送信する

詳細は以下を参照。

"ok"

{ 
    "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のソースコードを公開準備中です。

PreviousはじめにNextNFTPLUS Authについて

Last updated 3 years ago

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

詳しくはまでご相談ください。

EIP-191: Signed Data Standard
お問い合わせ