update join

This commit is contained in:
boneyard93501 2022-04-27 10:40:28 +02:00
parent 6432068c28
commit fe05f8542d
2 changed files with 6 additions and 34 deletions

View File

@ -1,28 +0,0 @@
import "builtin.aqua"
-- create and identity service to join our results
service Op2("op"):
identity(s: u64)
array(a: string, b: u64) -> string
-- function to get ten timestamps from our Kademlia
-- neighborhood and return as an array of u64 timestamps
-- the function arguement node is our per id
func ts_getter(node: string) -> []u64:
-- create a streaming variable
res: *u64
-- execute on the pecified peer
on node:
-- get the base58 representation of the peer id
k <- Op.string_to_b58(node)
-- find all (default 20) neighborhood peers from k
nodes <- Kademlia.neighborhood(k, nil, nil)
-- for each peer in our neighborhood and in parallel
for n <- nodes par:
on n:
-- try and get the peer's timestamp
try:
res <- Peer.timestamp_ms()
-- flatten nine of our joined results
Op2.identity(res!9)
-- return an array of ten timestamps
<- res

View File

@ -20,16 +20,16 @@ func ts_getter(node: string) -> []u64:
on node:
k <- Op.string_to_b58(node)
nodes <- Kademlia.neighborhood(k, nil, nil)
for n <- nodes par:
on n:
try:
res <- Peer.timestamp_ms()
Op2.identity(res!9)
if Op.array_length(nodes) > 0:
for n <- nodes par:
on n:
try:
res <- Peer.timestamp_ms()
join res[9]
<- res
func ts_oracle(node: string, oracle_service_id: string, min_points:u32) -> Oracle:
res <- ts_getter(node)
on node:
TSOracle oracle_service_id
oracle <- TSOracle.point_estimate(res, min_points)