トークンと NFT(DAS)
searchAssets
所有者、作成者、コレクション、およびカスタム属性を含む柔軟な基準を使用して、Solana NFT、圧縮NFT、およびトークンを検索およびフィルタリングします
POST
/
searchAssets
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "my-id",
"method": "searchAssets",
"params": {
"ownerAddress": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"tokenType": "all",
"limit": 50
}
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "my-id",
"method": "searchAssets",
"params": {
"ownerAddress": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"tokenType": "all",
"limit": 50
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 'my-id',
method: 'searchAssets',
params: {
ownerAddress: '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',
tokenType: 'all',
limit: 50
}
})
};
fetch('https://mainnet.helius-rpc.com/?api-key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mainnet.helius-rpc.com/?api-key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 'my-id',
'method' => 'searchAssets',
'params' => [
'ownerAddress' => '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',
'tokenType' => 'all',
'limit' => 50
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mainnet.helius-rpc.com/?api-key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"my-id\",\n \"method\": \"searchAssets\",\n \"params\": {\n \"ownerAddress\": \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n \"tokenType\": \"all\",\n \"limit\": 50\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mainnet.helius-rpc.com/?api-key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"my-id\",\n \"method\": \"searchAssets\",\n \"params\": {\n \"ownerAddress\": \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n \"tokenType\": \"all\",\n \"limit\": 50\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.helius-rpc.com/?api-key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"my-id\",\n \"method\": \"searchAssets\",\n \"params\": {\n \"ownerAddress\": \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n \"tokenType\": \"all\",\n \"limit\": 50\n }\n}"
response = http.request(request)
puts response.read_body{
"assets": {
"total": 80,
"limit": 50,
"page": 1,
"items": [
{
"interface": "V1_NFT",
"id": "SomeNftMintKey12345",
"ownership": {
"owner": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"ownership_model": "single"
},
"content": {
"json_uri": "https://example.com/metadata/12345.json"
}
}
]
},
"nativeBalance": {
"lamports": 123,
"price_per_sol": 123,
"total_price": 123
}
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "無効なリクエストパラメータ。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "認証に失敗しました。APIキーがないか無効です。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "このリソースにアクセスする権限がありません。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32004,
"message": "検索基準に一致する資産が見つかりません。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32029,
"message": "レートがリミットを超えました。しばらくしてからもう一度試してください。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32000,
"message": "サーバーで予期しないエラーが発生しました。"
},
"id": "1"
}リクエストパラメーター
string
必須
検索結果をフィルタリングするための所有デジタル資産を取得するSolanaウォレットアドレス。
string
必須
特定のSolanaトークンタイプ(圧縮NFT(cNFT)、通常のNFT、
プログラマブルNFT(pNFT)、またはファンジブルSPLトークン)をフィルタリングして、対象の資産を発見します。
fungiblenonFungibleregularNftcompressedNftall
number
返す結果のページ。
string
プログラム権限に基づくSolanaデジタル資産をフィルタリングするための権限アドレス基準。
特定のプロトコルまたは更新権限によって制御されている資産を見つけるのに役立ちます。
number
返される最大資産数。
object
レスポンスのソートオプション。
string
資産をソートする基準。
createdrecent_actionupdatednone
string
ソート方向。
ascdesc
boolean
圧縮Solana NFT(cNFT)をフィルタリングし、
ストレージコストの削減とスケーラビリティの向上を図ります。
boolean
圧縮可能であるが、まだ圧縮フォーマットに変換されていない
Solana資産をフィルタリングします。
number
資産検索の委譲基準。
string
アーティスト、プロジェクト、またはクリエイターによって作成されたSolana NFTを
特定し、帰属とロイヤリティの追跡を行うためのクリエイターウォレットアドレス基準。
boolean
クリエイターが検証されているかどうか。
array
コレクションメンバーシップによってSolana NFTをフィルタリングするためのコレクショングループ化配列
(例: [“collection”, “<collectionKey>”])で関連する資産を見つけます。
string
コレクションツリーで圧縮NFT(cNFT)をフィルタリングするためのマークルツリーアドレス。
このパラメータはHelius固有であり、公式DAS仕様には含まれていません。
number
資産検索の供給基準。
string
資産検索の供給通貨基準。
boolean
資産が凍結されているかどうか。
boolean
資産が焼却されているかどうか。
boolean
エージェントアイデンティティ(MPLコアエージェントアイデンティティ外部プラグイン)を持つ資産をフィルタリングします。
string
エージェントレジストリプログラムからのbase58エージェントトークンミントアドレスでフィルタリングします。
string
Base58資産署名者PDA(MPLコア)でフィルタリングします。
string
特定のNFT実装をフィルタリングするためのSolanaトークン標準インターフェイスタイプ
プログラマブルNFT、レガシーNFT、ファンジブルトークン、MPLコア資産、コレクション、またはグループ(MIP-11)を含みます。
V1_NFTV1_PRINTLEGACY_NFTV2_NFTFungibleAssetFungibleTokenCustomIdentityExecutableProgrammableNFTMplCoreAssetMplBubblegumV2MplCoreCollectionMplCoreGroup
string
ロイヤリティターゲットタイプ基準。
number
ロイヤリティターゲット基準。
number
ロイヤリティ額基準。
number
所有モデル基準。
string
後方ページネーションのためのカーソル。
string
前方ページネーションのためのカーソル。
object
Solana資産検索レスポンスをカスタマイズするための高度な表示オプション。
boolean
デフォルト:"false"
検証されていないコレクションを表示し、それをスキップする代わりに。
boolean
デフォルト:"false"
コレクションのメタデータを表示。
boolean
デフォルト:"false"
一致する資産の総数を表示(リクエストが遅くなります)。
boolean
デフォルト:"false"
所有者のネイティブ(SOL)バランスを表示。
boolean
デフォルト:"false"
ゼロバランスの資産を表示。
ボディ
application/json
レスポンス
成功した応答
Show child attributes
Show child attributes
例:
{
"total": 80,
"limit": 50,
"page": 1,
"items": [
{
"interface": "V1_NFT",
"id": "SomeNftMintKey12345",
"ownership": {
"owner": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"ownership_model": "single"
},
"content": {
"json_uri": "https://example.com/metadata/12345.json"
}
}
]
}
lamportsおよびUSD値でのSolanaウォレットアカウントのネイティブSOLバランス。
Show child attributes
Show child attributes
このページは役に立ちましたか?
⌘I
searchAssets
curl --request POST \
--url 'https://mainnet.helius-rpc.com/?api-key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "my-id",
"method": "searchAssets",
"params": {
"ownerAddress": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"tokenType": "all",
"limit": 50
}
}
'import requests
url = "https://mainnet.helius-rpc.com/?api-key="
payload = {
"jsonrpc": "2.0",
"id": "my-id",
"method": "searchAssets",
"params": {
"ownerAddress": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"tokenType": "all",
"limit": 50
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 'my-id',
method: 'searchAssets',
params: {
ownerAddress: '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',
tokenType: 'all',
limit: 50
}
})
};
fetch('https://mainnet.helius-rpc.com/?api-key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mainnet.helius-rpc.com/?api-key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 'my-id',
'method' => 'searchAssets',
'params' => [
'ownerAddress' => '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',
'tokenType' => 'all',
'limit' => 50
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mainnet.helius-rpc.com/?api-key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"my-id\",\n \"method\": \"searchAssets\",\n \"params\": {\n \"ownerAddress\": \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n \"tokenType\": \"all\",\n \"limit\": 50\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mainnet.helius-rpc.com/?api-key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"my-id\",\n \"method\": \"searchAssets\",\n \"params\": {\n \"ownerAddress\": \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n \"tokenType\": \"all\",\n \"limit\": 50\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.helius-rpc.com/?api-key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"my-id\",\n \"method\": \"searchAssets\",\n \"params\": {\n \"ownerAddress\": \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n \"tokenType\": \"all\",\n \"limit\": 50\n }\n}"
response = http.request(request)
puts response.read_body{
"assets": {
"total": 80,
"limit": 50,
"page": 1,
"items": [
{
"interface": "V1_NFT",
"id": "SomeNftMintKey12345",
"ownership": {
"owner": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
"ownership_model": "single"
},
"content": {
"json_uri": "https://example.com/metadata/12345.json"
}
}
]
},
"nativeBalance": {
"lamports": 123,
"price_per_sol": 123,
"total_price": 123
}
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "無効なリクエストパラメータ。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "認証に失敗しました。APIキーがないか無効です。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "このリソースにアクセスする権限がありません。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32004,
"message": "検索基準に一致する資産が見つかりません。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32029,
"message": "レートがリミットを超えました。しばらくしてからもう一度試してください。"
},
"id": "1"
}{
"jsonrpc": "2.0",
"error": {
"code": -32000,
"message": "サーバーで予期しないエラーが発生しました。"
},
"id": "1"
}