Referencia de Nodes
Estos endpoints le permiten inspeccionar los nodes a los que tiene acceso su clave de acceso — verificar su información, consultar el estado del blockchain y recuperar datos de bloques. Todas las solicitudes utilizan X-AccessKey para la autenticación.
Listar Nodes
Devuelve la lista de todos los nodes a los que tiene acceso su clave de acceso. Úselo para descubrir los IDs de node disponibles antes de llamar a endpoints específicos de node como /info o /blockchains.
Solicitud
GET /api/v1/nodes
Encabezados
X-AccessKey— Su clave de acceso de entidad
Respuesta
Devuelve un array de objetos de node.
Ejemplo de respuesta
[
{
"nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95",
"url": "https://aws.dev.node1.uledger.net",
"status": "active"
}
]
- cURL
- TypeScript
curl -X GET \
'https://your-tms-url/api/v1/nodes' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Accept: application/json'
const res = await fetch('https://your-tms-url/api/v1/nodes', {
headers: {
'X-AccessKey': 'your-entity-access-key',
'Accept': 'application/json',
},
});
const nodes = await res.json();
console.log('Nodes disponibles:', nodes.length);
nodes.forEach(n => console.log(n.nodeId, n.url));
Obtener Información del Node
Devuelve información de salud y conectividad para un node específico — versión, conteo de peers, ID de peer y los blockchains que rastrea.
Solicitud
POST /api/v1/nodes/info
Encabezados
X-AccessKey— Su clave de acceso de entidadContent-Type: application/json
Cuerpo
nodeId(requerido) — El ID del node a consultar
Respuesta
Ejemplo de respuesta
{
"nodeId": "04575EFB...",
"nodeVersion": "9373386",
"network": {
"networkType": "p2p",
"peerCount": 9,
"peerId": "12D3KooW...",
"networkPeers": ["12D3KooW...", "..."]
},
"blockchains": ["08c28f29..."]
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/info' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{ "nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95" }'
const res = await fetch('https://your-tms-url/api/v1/nodes/info', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
}),
});
const health = await res.json();
console.log('Peer count:', health.network.peerCount);
console.log('Blockchains:', health.blockchains);
Listar Blockchains del Node
Devuelve la lista de IDs de blockchain que un node específico está rastreando actualmente. Use esto para confirmar que un node soporta su blockchain objetivo antes de enviar transacciones.
Solicitud
POST /api/v1/nodes/blockchains
Encabezados
X-AccessKey— Su clave de acceso de entidadContent-Type: application/json
Cuerpo
nodeId(requerido) — El ID del node a consultar
Respuesta
Devuelve un objeto que contiene un array de IDs de blockchain.
Ejemplo de respuesta
{
"blockchains": [
"08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
]
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/blockchains' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{ "nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95" }'
const res = await fetch('https://your-tms-url/api/v1/nodes/blockchains', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
}),
});
const data = await res.json();
console.log('Blockchains:', data.blockchains);
Obtener Información del Blockchain
Devuelve información detallada sobre un blockchain específico tal como lo ve un node dado — altura actual, membresía del consejo, configuración de consensus, transacciones pendientes y sesiones de votación activas.
Solicitud
POST /api/v1/nodes/blockchain-info
Encabezados
X-AccessKey— Su clave de acceso de entidadContent-Type: application/json
Cuerpo
nodeId(requerido) — El node a consultarblockchain(requerido) — El ID del blockchain
Respuesta
Ejemplo de respuesta
{
"blockHeight": 2275,
"keyType": "secp256k1",
"isInCouncil": true,
"pendingTransactions": 0,
"councilMembers": ["02F94D90...", "..."],
"consensus": {
"consensusType": "council_leader_proposal",
"minMembers": 4,
"consensusTimeout": "30m0s"
}
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/blockchain-info' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95",
"blockchain": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
}'
const res = await fetch('https://your-tms-url/api/v1/nodes/blockchain-info', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
blockchain: '08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2',
}),
});
const info = await res.json();
console.log('Block height:', info.blockHeight);
console.log('In council:', info.isInCouncil);
Obtener Bloque
Recupera un bloque específico de un blockchain en un node dado por su altura. Útil para inspeccionar transacciones después de un deploy o envío.
Solicitud
POST /api/v1/nodes/blockchain-block
Encabezados
X-AccessKey— Su clave de acceso de entidadContent-Type: application/json
Cuerpo
nodeId(requerido) — El node a consultarblockchain(requerido) — El ID del blockchainblockHeight(requerido) — La altura del bloque a recuperar
Respuesta
Devuelve el objeto de bloque completo incluyendo todas las transacciones en esa altura.
Ejemplo de respuesta
{
"height": 2301,
"blockHash": "a1b2c3...",
"merkleRoot": "d4e5f6...",
"transactions": [
{
"transactionId": "tx123...",
"payload": "hello blockchain",
"status": "confirmed"
}
],
"timestamp": "2026-05-25T19:00:00Z"
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/blockchain-block' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95",
"blockchain": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2",
"blockHeight": 2301
}'
const res = await fetch('https://your-tms-url/api/v1/nodes/blockchain-block', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
blockchain: '08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2',
blockHeight: 2301,
}),
});
const block = await res.json();
console.log('Block hash:', block.blockHash);
console.log('Transactions:', block.transactions);