Skip to content
CCPEDIAby Unity Nodes
Documentation/Canton Network Docs/Splice APIsScan APIsScan APIView on Canton Network Docs

GET /v0/validators/validator-faucets

GET
/
api
/
scan
/
v0
/
validators
/
validator-faucets
Try it
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
  --url 'https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets'
import json
import requests

url = "https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets"
response = requests.request("GET", url)

print(response.text)
const response = await fetch('https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets', {
  method: 'GET',
});

console.log(await response.text());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
]);

$response = curl_exec($curl);
echo $response;
package main

import (
  "fmt"
  "io"
  "net/http"
)

func main() {
  req, _ := http.NewRequest("GET", "https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets", nil)
  response, _ := http.DefaultClient.Do(req)
  defer response.Body.Close()
  body, _ := io.ReadAll(response.Body)
  fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var request = HttpRequest.newBuilder()
    .uri(URI.create("https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
var response = HttpClient.newHttpClient().send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'

uri = URI('https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets')
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
400
404
{
  "validatorsReceivedFaucets": [
    {
      "validator": "<string>",
      "numRoundsCollected": 123,
      "numRoundsMissed": 123,
      "firstCollectedInRound": 123,
      "lastCollectedInRound": 123
    }
  ]
}
{
  "error": "<string>"
}
{
  "error": "<string>"
}

For every argument that is a valid onboarded validator, return statistics on its liveness activity, according to on-ledger state at the time of the request.

OpenAPI
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
  --url 'https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets'
import json
import requests

url = "https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets"
response = requests.request("GET", url)

print(response.text)
const response = await fetch('https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets', {
  method: 'GET',
});

console.log(await response.text());
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
]);

$response = curl_exec($curl);
echo $response;
package main

import (
  "fmt"
  "io"
  "net/http"
)

func main() {
  req, _ := http.NewRequest("GET", "https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets", nil)
  response, _ := http.DefaultClient.Do(req)
  defer response.Body.Close()
  body, _ := io.ReadAll(response.Body)
  fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var request = HttpRequest.newBuilder()
    .uri(URI.create("https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
var response = HttpClient.newHttpClient().send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'

uri = URI('https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/validators/validator-faucets')
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
400
404
{
  "validatorsReceivedFaucets": [
    {
      "validator": "<string>",
      "numRoundsCollected": 123,
      "numRoundsMissed": 123,
      "firstCollectedInRound": 123,
      "lastCollectedInRound": 123
    }
  ]
}
{
  "error": "<string>"
}
{
  "error": "<string>"
}

Query parameters

validator_ids
string[]
required
A list of validator party IDs, one per specification of the parameter. Any party IDs not matching onboarded validators will be ignored

Responses

200

ok
application/json
validatorsReceivedFaucets
ValidatorReceivedFaucets[]
required
Statistics for any party ID arguments found to have valid onboarding licenses; the order in the response is unrelated to argument order.

Show child attributes

validator
string
required
The party ID of the onboarded validator
numRoundsCollected
integer (int64)
required
how many rounds the validator has received a faucet for; guaranteed that collected + missed = last - first + 1
numRoundsMissed
integer (int64)
required
how many rounds between firstCollected and lastCollected in which the validator failed to collect (i.e. was not active or available); can at most be max(0, lastCollected - firstCollected - 1).
firstCollectedInRound
integer (int64)
required
the round number when this validator started collecting faucets; the validator definitely recorded liveness in this round
lastCollectedInRound
integer (int64)
required
The most recent round number in which the validator collected a faucet; the validator definitely recorded liveness in this round. Will equal firstCollected if the validator has collected in only one round

400

bad request
application/json
error
string
required

404

not found
application/json
error
string
required