Admin API
Bu API, düğüm sağlığını ölçmek ve hata ayıklamak için kullanılabilir.
Admin API'nin varsayılan olarak devre dışı olduğunu unutmayın; bu, güvenlik nedenlerindendir.
Admin API'yi etkinleştirilmiş bir düğüm çalıştırmak için --api-admin-enabled-secret=
flag'ini kullanın.
Format
Bu API, json 2.0
RPC formatını kullanır. Ayrıntılar için bakın.
Endpoint
/ext/admin
API Yöntemleri
admin.alias
Bir API endpoint'ine bir takma ad atar, API için farklı bir endpoint sağlar. Orijinal endpoint çalışmaya devam edecektir. Bu değişiklik yalnızca bu düğümü etkiler; diğer düğümler bu takma addan haberdar olmayacaktır.
İmza
admin.alias({endpoint:string, alias:string}) -> {success:bool}
endpoint
, API'nin orijinal endpoint'idir.endpoint
, yalnızca/ext/
kısmından sonraki bölümünü içermelidir.- Takma ad verilen API artık
ext/alias
adresinden çağrılabilir. alias
en fazla 512 karakter olabilir.
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.alias",
"params": {
"secret": "",
"alias" :"myAlias",
"endpoint":"bc/X"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}
Artık X-Chain için çağrılar, ya /ext/bc/X
ya da eşdeğer olarak /ext/myAlias
adresine yapılabilir.
admin.aliasChain
Bir blockchain'e bir takma ad verir, blockchain'in ID'sinin kullanıldığı her yerde kullanılabilecek farklı bir isim sağlar.
İmza
admin.aliasChain(
{
chain:string,
alias:string
}
) -> {success:bool}
chain
, blockchain'in ID'sidir.alias
, blockchain'in ID'si yerine (örneğin API endpoint'lerinde) kullanılabilir.
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.aliasChain",
"params": {
"secret": "",
"chain":"sV6o671RtkGBcno1FiaDbVcFv2sG5aVXMZYzKdP4VQAWmJQnM",
"alias":"myBlockchainAlias"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}
Artık sV6o671RtkGBcno1FiaDbVcFv2sG5aVXMZYzKdP4VQAWmJQnM
ID'sine sahip blockchain ile etkileşime geçmek için API çağrıları /ext/bc/sV6o671RtkGBcno1FiaDbVcFv2sG5aVXMZYzKdP4VQAWmJQnM
yerine ext/bc/myBlockchainAlias
adresine de yapılabilir.
admin.getChainAliases
Zincirin takma adlarını döndürür.
İmza
admin.getChainAliases(
{
chain:string
}
) -> {aliases:string[]}
chain
, blockchain'in ID'sidir.
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.getChainAliases",
"params": {
"secret": "",
"chain":"sV6o671RtkGBcno1FiaDbVcFv2sG5aVXMZYzKdP4VQAWmJQnM"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"result": {
"aliases": [
"X",
"avm",
"2eNy1mUFdmaxXNj1eQHUe7Np4gju9sJsEtWQ4MX3ToiNKuADed"
]
},
"id": 1
}
admin.getLoggerLevel
Log ve görüntü seviyeleri döndürür.
İmza
admin.getLoggerLevel(
{
loggerName:string // isteğe bağlı
}
) -> {
loggerLevels: {
loggerName: {
logLevel: string,
displayLevel: string
}
}
}
loggerName
, geri dönecek loglayıcının adıdır. Bu isteğe bağlı bir argümandır. Belirtilmezse, tüm olası loglayıcıları döndürür.
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.getLoggerLevel",
"params": {
"secret": "",
"loggerName": "C"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"result": {
"loggerLevels": {
"C": {
"logLevel": "DEBUG",
"displayLevel": "INFO"
}
}
},
"id": 1
}
admin.getNodeSigner
Düğümün özel ve genel anahtarını döndürür.
İmza
admin.getNodeSigner() -> {
privateKey: string,
publicKey: string
}
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.getNodeSigner",
"params": {
"secret": ""
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"result": {
"privateKey": "PrivateKey-2ZW6HUePBW2dP7dBGa5stjXe1uvK9LwEgrjebDwXEyL5bDMWWS",
"publicKey": "D1LbWvUf9iaeEyUbTYYtYq4b7GaYR5tnJ"
},
"id": 1
}
admin.loadVMs
Düğüm üzerinde yüklü olan sanal makineleri plugin olarak dinamik olarak yükler.
İmza
admin.loadVMs() -> {
newVMs: map[string][]string,
failedVMs: map[string]string
}
failedVMs
, en az bir sanal makinenin yüklenemediği durumlarda yanıtta dahil edilir.
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.loadVMs",
"params" :{
"secret": ""
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"result": {
"newVMs": {
"tGas3T58KzdjLHhBDMnH2TvrddhqTji5iZAMZ3RXs2NLpSnhH": ["foovm"]
},
"failedVMs": {
"rXJsCSEYXg2TehWxCEEGj6JU2PWKTkd6cBdNLjoe2SpsKD9cy": "error message"
}
},
"id": 1
}
admin.lockProfile
Mutex istatistiklerinin bir profilini lock.profile
dosyasına yazar.
İmza
admin.lockProfile() -> {success:bool}
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.lockProfile",
"params" :{
"secret": ""
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}
admin.memoryProfile
Bellek profilini mem.profile
dosyasına yazar.
İmza
admin.memoryProfile() -> {success:bool}
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.memoryProfile",
"params" :{
"secret": ""
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}
admin.setLoggerLevel
Log ve görüntü seviyelerini ayarlar.
İmza
admin.setLoggerLevel(
{
loggerName: string, // isteğe bağlı
logLevel: string, // isteğe bağlı
displayLevel: string, // isteğe bağlı
}
) -> {success:bool}
loggerName
, değiştirilecek loglayıcının adıdır. Bu isteğe bağlı bir parametredir. Belirtilmezse, tüm olası loglayıcıları değiştirir.logLevel
, yazılan logların seviyesidir, atlanabilir.displayLevel
, görüntülenen logların seviyesidir, atlanabilir.
logLevel
ve displayLevel
aynı anda atlanamaz.
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.setLoggerLevel",
"params": {
"secret": "",
"loggerName": "C",
"logLevel": "DEBUG",
"displayLevel": "INFO"
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}
admin.startCPUProfiler
Düğümün CPU kullanımını profillemeye başlar. Durdurmak için admin.stopCPUProfiler
çağrılmalıdır. Durdurulduğunda, profil cpu.profile
dosyasına yazılır.
İmza
admin.startCPUProfiler() -> {success:bool}
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.startCPUProfiler",
"params" :{
"secret": ""
}
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}
admin.stopCPUProfiler
Önceden başlatılan CPU profilini durdurur.
İmza
admin.stopCPUProfiler() -> {success:bool}
Örnek Çağrı
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"admin.stopCPUProfiler"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/admin
Örnek Yanıt
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"success": true
}
}