mirror of
https://github.com/fluencelabs/examples
synced 2025-05-11 18:37:12 +00:00
update join
This commit is contained in:
parent
6432068c28
commit
fe05f8542d
@ -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
|
|
@ -20,16 +20,16 @@ func ts_getter(node: string) -> []u64:
|
|||||||
on node:
|
on node:
|
||||||
k <- Op.string_to_b58(node)
|
k <- Op.string_to_b58(node)
|
||||||
nodes <- Kademlia.neighborhood(k, nil, nil)
|
nodes <- Kademlia.neighborhood(k, nil, nil)
|
||||||
|
if Op.array_length(nodes) > 0:
|
||||||
for n <- nodes par:
|
for n <- nodes par:
|
||||||
on n:
|
on n:
|
||||||
try:
|
try:
|
||||||
res <- Peer.timestamp_ms()
|
res <- Peer.timestamp_ms()
|
||||||
Op2.identity(res!9)
|
join res[9]
|
||||||
<- res
|
<- res
|
||||||
|
|
||||||
func ts_oracle(node: string, oracle_service_id: string, min_points:u32) -> Oracle:
|
func ts_oracle(node: string, oracle_service_id: string, min_points:u32) -> Oracle:
|
||||||
res <- ts_getter(node)
|
res <- ts_getter(node)
|
||||||
|
|
||||||
on node:
|
on node:
|
||||||
TSOracle oracle_service_id
|
TSOracle oracle_service_id
|
||||||
oracle <- TSOracle.point_estimate(res, min_points)
|
oracle <- TSOracle.point_estimate(res, min_points)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user