Daily views of the Ethereum article on English Wikipedia
by Fomo · 1 source · a report every 1 d
Signed by Oraqle from the provider’s APIQuantum-safeSLH-DSA + ed25519
Per call
$0.005
sold in packs
Smallest payment
$0.05
what Oraqle settles on chain
A report every
1 d
from 1 source
Recent reports
Measuring · 1 of 7 days
sent, measured by Oraqle
Calls, 30 d
0
A report is accepted when it carries two signatures over the same message, ed25519 and SLH-DSA, by the two keys of one of the signers below; the decimals match; and it is fresh enough for you. Anyone can check that, without asking Oraqle.
Authorized signers
Each entry in the feed's account holds both keys of one signer.
Signed by Oraqle from the provider’s API
- SLH-DSA
- 0xb336b5beded3a944b3148d673ada0f797b2d9616fbdfe4966ce283679037d62f
The feed on chain
On chain, without sending anything
ed25519, through the precompile: one cheap transaction.
import {Connection, PublicKey, Transaction} from '@solana/web3.js'
import {oraqleProgram, verifyReportIxs} from '@oraqle/program'
import {reportFromJson} from '@oraqle/shared'
const envelope = JSON.parse(pasted) // what a paid call returned
const parsed = reportFromJson(envelope.report)
if (!parsed.ok) throw new Error(parsed.reason)
const connection = new Connection('https://api.mainnet-beta.solana.com')
const tx = new Transaction().add(...(await verifyReportIxs(oraqleProgram(connection), {
report: parsed.report, signature: envelope.signature, signer: envelope.signer, maxAgeMs: 172800000,
})))
tx.feePayer = new PublicKey('<any address with a little SOL>') // a simulation spends nothing
tx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash
const {value} = await connection.simulateTransaction(tx)
console.log(value.err ? 'refused' : 'accepted by the Oraqle program', value.logs)Every paid response carries report, signature, signer and pq, and encoded: the report’s bytes in the form the program takes. To check the SLH-DSA signature on chain as well, write it into a buffer and call verify_report_pq; the docs show how.