/* * * Copyright (C) 2026 Andromeda * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ module radgen; import std::io; import std::encoding::json; import std::collections::object; import std::collections::pair; import std::math::random; import curl; import radapi; String url = "https://iris.radicle.network/api/v1"; fn int main(String[] args) { Client* c = radapi::new_client(url); Node n = c.request(Request.NODE, "", {}).node; io::printn(n.id); Rid[] rds = c.request(Request.NODES_INVENTORY, "?perPage=100000000&show=all", {.nid = n.id}).nodes_inventory; while (true) { int j = rand(rds.len); io::printn(rds[j]); Commit[] cs = c.request(Request.HISTORY, "", {.rid = rds[j]}).history; int i = rand(cs.len); io::printn(cs[i].id); CommitFull cf = c.request(Request.COMMIT, "", {.rid = rds[j], .sha = cs[i].id}).commit; io::printn(cf); } return 0; }