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

GET /v0/scan-proxy/dso

GET
/
api
/
validator
/
v0
/
scan-proxy
/
dso
Try it
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
  --url 'https://example.com/api/validator/v0/scan-proxy/dso'
import json
import requests

url = "https://example.com/api/validator/v0/scan-proxy/dso"
response = requests.request("GET", url)

print(response.text)
const response = await fetch('https://example.com/api/validator/v0/scan-proxy/dso', {
  method: 'GET',
});

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

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://example.com/api/validator/v0/scan-proxy/dso',
    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://example.com/api/validator/v0/scan-proxy/dso", 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://example.com/api/validator/v0/scan-proxy/dso"))
    .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://example.com/api/validator/v0/scan-proxy/dso')
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
{
  "sv_user": "<string>",
  "sv_party_id": "<string>",
  "dso_party_id": "<string>",
  "voting_threshold": 123,
  "latest_mining_round": {
    "contract": {
      "template_id": "<string>",
      "contract_id": "<string>",
      "payload": {},
      "created_event_blob": "<string>",
      "created_at": "<string>"
    },
    "domain_id": "<string>"
  },
  "amulet_rules": {
    "contract": {
      "template_id": "<string>",
      "contract_id": "<string>",
      "payload": {},
      "created_event_blob": "<string>",
      "created_at": "<string>"
    },
    "domain_id": "<string>"
  },
  "dso_rules": {
    "contract": {
      "template_id": "<string>",
      "contract_id": "<string>",
      "payload": {},
      "created_event_blob": "<string>",
      "created_at": "<string>"
    },
    "domain_id": "<string>"
  },
  "sv_node_states": [
    {
      "contract": {
        "template_id": "<string>",
        "contract_id": "<string>",
        "payload": {},
        "created_event_blob": "<string>",
        "created_at": "<string>"
      },
      "domain_id": "<string>"
    }
  ],
  "initial_round": "<string>"
}

Dso info

OpenAPI
cURL
Python
JavaScript
PHP
Go
Java
Ruby
curl --request GET \
  --url 'https://example.com/api/validator/v0/scan-proxy/dso'
import json
import requests

url = "https://example.com/api/validator/v0/scan-proxy/dso"
response = requests.request("GET", url)

print(response.text)
const response = await fetch('https://example.com/api/validator/v0/scan-proxy/dso', {
  method: 'GET',
});

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

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://example.com/api/validator/v0/scan-proxy/dso',
    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://example.com/api/validator/v0/scan-proxy/dso", 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://example.com/api/validator/v0/scan-proxy/dso"))
    .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://example.com/api/validator/v0/scan-proxy/dso')
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(request)
end
puts response.body
200
{
  "sv_user": "<string>",
  "sv_party_id": "<string>",
  "dso_party_id": "<string>",
  "voting_threshold": 123,
  "latest_mining_round": {
    "contract": {
      "template_id": "<string>",
      "contract_id": "<string>",
      "payload": {},
      "created_event_blob": "<string>",
      "created_at": "<string>"
    },
    "domain_id": "<string>"
  },
  "amulet_rules": {
    "contract": {
      "template_id": "<string>",
      "contract_id": "<string>",
      "payload": {},
      "created_event_blob": "<string>",
      "created_at": "<string>"
    },
    "domain_id": "<string>"
  },
  "dso_rules": {
    "contract": {
      "template_id": "<string>",
      "contract_id": "<string>",
      "payload": {},
      "created_event_blob": "<string>",
      "created_at": "<string>"
    },
    "domain_id": "<string>"
  },
  "sv_node_states": [
    {
      "contract": {
        "template_id": "<string>",
        "contract_id": "<string>",
        "payload": {},
        "created_event_blob": "<string>",
        "created_at": "<string>"
      },
      "domain_id": "<string>"
    }
  ],
  "initial_round": "<string>"
}

Responses

200

ok
application/json
sv_user
string
required
User ID representing the SV
sv_party_id
string
required
Party representing the SV
dso_party_id
string
required
Party representing the whole DSO; for Scan only, also returned by /v0/dso-party-id
voting_threshold
integer
required
Threshold required to pass vote requests; also known as the “governance threshold”, it is always derived from the number of svs in dso_rules
latest_mining_round
ContractWithState
required
Contract of the Daml template Splice.Round.OpenMiningRound, the one with the highest round number on the ledger that has been signed by dso_party_id. The round may not be usable as it may not be opened yet, in accordance with its opensAt template field

Show child attributes

contract
Contract
required

Show child attributes

template_id
string
required
contract_id
string
required
payload
object
required
created_event_blob
string
required
created_at
string
required
domain_id
string
amulet_rules
ContractWithState
required
Contract of the Daml template Splice.AmuletRules.AmuletRules, including the full schedule of AmuletConfig changes approved by the DSO. Callers should not assume that initialValue is up-to-date, and should instead search futureValues for the latest configuration valid as of now

Show child attributes

contract
Contract
required

Show child attributes

template_id
string
required
contract_id
string
required
payload
object
required
created_event_blob
string
required
created_at
string
required
domain_id
string
dso_rules
ContractWithState
required
Contract of the Daml template Splice.DsoRules.DsoRules, listing the governance rules approved by the DSO governing this Splice network.

Show child attributes

contract
Contract
required

Show child attributes

template_id
string
required
contract_id
string
required
payload
object
required
created_event_blob
string
required
created_at
string
required
domain_id
string
sv_node_states
ContractWithState[]
required
For every one of svs listed in dso_rules, a contract of the Daml template Splice.DSO.SvState.SvNodeState. This does not include states for offboarded SVs, though they may still have an on-ledger state contract

Show child attributes

contract
Contract
required

Show child attributes

template_id
string
required
contract_id
string
required
payload
object
required
created_event_blob
string
required
created_at
string
required
domain_id
string
initial_round
string
Initial round from which the network bootstraps