fenine_getSnapshot
curl --request GET \
--url https://api.example.com/fenine_getSnapshotimport requests
url = "https://api.example.com/fenine_getSnapshot"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/fenine_getSnapshot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/fenine_getSnapshot",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/fenine_getSnapshot"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/fenine_getSnapshot")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/fenine_getSnapshot")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"Number": {},
"Hash": "<string>",
"Signers": [
{}
],
"Recents": {}
}fenine_* Methods
fenine_getSnapshot
Retrieve consensus snapshot state at a given block
GET
fenine_getSnapshot
fenine_getSnapshot
curl --request GET \
--url https://api.example.com/fenine_getSnapshotimport requests
url = "https://api.example.com/fenine_getSnapshot"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/fenine_getSnapshot', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/fenine_getSnapshot",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/fenine_getSnapshot"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/fenine_getSnapshot")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/fenine_getSnapshot")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"Number": {},
"Hash": "<string>",
"Signers": [
{}
],
"Recents": {}
}Overview
Retrieves the state snapshot at a given block number. The snapshot contains information about authorized signers and recent signer activity.Parameters
string
default:"latest"
Block number in hex (e.g., “0x1a4”) or “latest”
Response
uint64
Block number of the snapshot
string
Block hash (0x-prefixed hex string)
array
List of authorized signer addresses
object
Map of recent signer activity (block number → address)
Examples
curl -X POST https://rpc.fene.app \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "fenine_getSnapshot",
"params": ["latest"],
"id": 1
}'
const Web3 = require('web3');
const web3 = new Web3('https://rpc.fene.app');
// Extend web3 with custom method
web3.extend({
methods: [{
name: 'getSnapshot',
call: 'fenine_getSnapshot',
params: 1
}]
});
const snapshot = await web3.getSnapshot('latest');
console.log('Snapshot:', snapshot);
from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://rpc.fene.app'))
result = w3.provider.make_request(
'fenine_getSnapshot',
['latest']
)
print('Snapshot:', result['result'])
Response Example
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"Number": 12345,
"Hash": "0x1234567890abcdef...",
"Signers": [
"0x1111111111111111111111111111111111111111",
"0x2222222222222222222222222222222222222222",
"0x3333333333333333333333333333333333333333"
],
"Recents": {
"12340": "0x1111111111111111111111111111111111111111",
"12342": "0x2222222222222222222222222222222222222222",
"12344": "0x3333333333333333333333333333333333333333"
}
}
}
Use Cases
Monitor Signer Changes
Monitor Signer Changes
Track changes in the authorized signer set over time for consensus monitoring.
Verify Block Producers
Verify Block Producers
Check which validators are currently authorized to produce blocks.
Audit Recent Activity
Audit Recent Activity
Review recent block production activity by each signer.
Related Methods
fenine_getSigners
Get just the list of signers
fenine_getSnapshotAtHash
Get snapshot by block hash