Links
Comment on page

How to connect to GraphQL API

HTTPS

Without secret

Curl
ever-sdk-js
everdev
JS fetch
Postman
curl --location --request POST 'https://mainnet.evercloud.dev/your-project-id/graphql' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"query($address: String!){\n blockchain{\n account(address:$address){\n info{\n balance(format:DEC)\n }\n }\n }\n}","variables":{"address":"0:e17ac4e77f46626579c7c4fefe35286117384c5ccfc8745c9780cdf056c378bf"}}'
const {TonClient} = require("@eversdk/core");
const {libNode} = require("@eversdk/lib-node");
​
TonClient.useBinaryLibrary(libNode)
​
const client = new TonClient({
network: {
endpoints: [
"mainnet.evercloud.dev/your-project-id/graphql"
],
},
});
​
(async () => {
try {
queryString = `
query{
blockchain{
blocks(workchain:-1, last:1){
edges{
node{
hash
seq_no
}
}
}
}
}
`
let {seq_no, hash} = (await client.net.query({
"query": queryString }))
.result.data.blockchain.blocks.edges[0].node;
console.log("The last masterchain block seqNo is " + seq_no+ '\n' + "the hash is" + hash);
client.close();
}
catch (error) {
console.error(error);
}
}
)()
everdev network credentials main --project "your-project-id"
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
​
var graphql = JSON.stringify({
query: "query{\n blockchain{\n blocks(workchain:-1, last:1){\n edges{\n node{\n hash\n seq_no\n }\n }\n }\n }\n}",
variables: {}
})
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: graphql,
redirect: 'follow'
};
​
fetch("https://mainnet.evercloud.dev/your-project-id/graphql", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
URL: https://mainnet.evercloud.dev/your-project-id/graphql
Body: GraphQL
Query:
​
query{
blockchain{
blocks(workchain:-1, last:1){
edges{
node{
hash
seq_no
}
}
}
}
}

With secret

Curl
ever-sdk-js
everdev
JS fetch
Postman
curl --location --request POST 'https://mainnet.evercloud.dev/your-project-id/graphql' \
--header 'Authorization: Basic project_secret_in_base64' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"query{\n blockchain{\n blocks(workchain:-1, last:1){\n edges{\n node{\n hash\n seq_no\n }\n }\n }\n }\n}","variables":{}}'
const {TonClient} = require("@eversdk/core");
const {libNode} = require("@eversdk/lib-node");
​
TonClient.useBinaryLibrary(libNode)
​
const client = new TonClient({
network: {
endpoints: [
"mainnet.evercloud.dev/your-project-id/graphql"
],
access_key: "Project's secret"
},
});
​
(async () => {
try {
queryString = `
query{
blockchain{
blocks(workchain:-1, last:1){
edges{
node{
hash
seq_no
}
}
}
}
}
`
let {seq_no, hash} = (await client.net.query({
"query": queryString }))
.result.data.blockchain.blocks.edges[0].node;
console.log("The last masterchain block seqNo is " + seq_no+ '\n' + "the hash is" + hash);
client.close();
}
catch (error) {
console.error(error);
}
}
)()
everdev network credentials main --project "Project Id" --access-key "Project secret"
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
​
var graphql = JSON.stringify({
query: "query{\n blockchain{\n blocks(workchain:-1, last:1){\n edges{\n node{\n hash\n seq_no\n }\n }\n }\n }\n}",
variables: {}
})
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: graphql,
redirect: 'follow'
};
​
fetch("https://mainnet.evercloud.dev/your-project-id/graphql", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
URL: https://mainnet.evercloud.dev/your-project-id/graphql
Authorization: Basic Auth
Username: empty
Password: <Project secret>
Body: GraphQL
Query:
​
query{
blockchain{
blocks(workchain:-1, last:1){
edges{
node{
hash
seq_no
}
}
}
}
}

WSS

Without secret

wscat
ever-sdk-js
Postman
wscat -c wss://mainnet.evercloud.dev/your-project-id/graphql -s graphql-ws
{"id":"1","type":"start","payload":{"variables":{},"extensions":{},"operationName":null,"query":"subscription{\n blocks(filter:{\n workchain_id:{\n eq:-1\n }\n }){\n seq_no\n id\n }\n}"}}
const {TonClient} = require("@eversdk/core");
const {libNode} = require("@eversdk/lib-node");
​
TonClient.useBinaryLibrary(libNode)
​
const client = new TonClient({
network: {
endpoints: [
"mainnet.evercloud.dev/your-project-id/graphql"
],
queries_protocol: WS
},
});
​
(async () => {
try {
queryString = `
query{
blockchain{
blocks(workchain:-1, last:1){
edges{
node{
hash
seq_no
}
}
}
}
}
`
let {seq_no, hash} = (await client.net.query({
"query": queryString }))
.result.data.blockchain.blocks.edges[0].node;
console.log("The last masterchain block seqNo is " + seq_no+ '\n' + "the hash is" + hash);
client.close();
}
catch (error) {
console.error(error);
}
}
)()
URL: wss://mainnet.evercloud.dev/your-project-id/graphql
Sec-WebSocket-Protocol: graphql-ws
​
message
{
"id": "1",
"type": "start",
"payload": {
"variables": {},
"extensions": {},
"operationName": null,
"query": "subscription{\n blocks(filter:{\n workchain_id:{\n eq:-1\n }\n }){\n seq_no\n id\n }\n}"
}
}
​

Client libraries