Skip to content

Instantly share code, notes, and snippets.

@hteibler
Created June 16, 2020 13:58
Show Gist options
  • Save hteibler/3bb90ca8209d3b6699dbfe16e2d5508d to your computer and use it in GitHub Desktop.
Save hteibler/3bb90ca8209d3b6699dbfe16e2d5508d to your computer and use it in GitHub Desktop.
create nw
def create_network():
zos = j.sal.zosv2
r = zos.reservation_create()
expiration = int(j.data.time.HRDateToEpoch('2021/06/30'))
overlay_network_ip_range = overlay_network_pre+"0.0/16"
iprange = "automatic"
ipv4_gateway='CBDY1Fu4CuxGpdU3zLL9QT5DGaRkxjpuJmzV6V5CBWg4'
gwnode = j.clients.explorer.explorer.nodes.get(ipv4_gateway)
# Create network data structure
network = zos.network.create(r, ip_range=overlay_network_ip_range, network_name=overlay_network_name)
nodes_all = [] # fra1
nodes_all.append(j.clients.explorer.explorer.nodes.get('TCoGYjsRDBMUro1QE9fUtxRpazLy91SfMzUBAHgMdrE'))
nodes_all.append(j.clients.explorer.explorer.nodes.get('GLRYdfgQA5kSc9v1QQ6cZ8PUSXBquj4Dj5oM89XaPJGv'))
nodes_all.append(j.clients.explorer.explorer.nodes.get('C9BuLzGdpEmGuG1eiSVvPTEQ2GnpTn4NMR7NXR1aQx7Z'))
nodes_all.append(j.clients.explorer.explorer.nodes.get('25hz9SDrYJmZgApi45Eq8jCKTNpLeKjtoidW6PnZvbCq'))
nodes_all.append(gwnode)
ii = 0
for i, node in enumerate(nodes_all):
if (zos.nodes_finder.filter_is_up(node) and zos.nodes_finder.filter_is_free_to_use(node) and check_public_ipv6(node)): # check for if you can pay with this token
ii += 1
iprange = overlay_network_pre+f"{i+10}.0/24"
ippre = overlay_network_pre+f"{i+10}."
zos.network.add_node(network, node.node_id , iprange)
#nipl[node.node_id]=ippre
print("Node: ", i,node.farm_id, node.node_id, " (",node.total_resources.cru, ") :", iprange)
else:
print("--> bad Node: ", i,node.farm_id, node.node_id, " (",node.total_resources.cru, ") :", iprange, \
zos.nodes_finder.filter_is_up(node),zos.nodes_finder.filter_is_free_to_use(node),check_public_ipv6(node))
wg_config = zos.network.add_access(network, gwnode.node_id, overlay_network_pre+'254.0/24', ipv4=True)
print("Node number: ", i, gwnode.node_id, ":", iprange," WG")
print (80*"-")
print ("usable nodes:",ii)
# print the wireguard config - store in a secure place.
print("WG Interface configured:")
print (80*"-")
print(wg_config)
print (80*"-")
# register the reservation
registered_reservation = zos.reservation_register(r, expiration, currencies=currency)
print(registered_reservation)
wallet_name='ht20'
currency='FreeTFT'
me=j.me
tid = me.tid # ? id vs. tid !!!!
overlay_network_name="test-fra"
overlay_network_pre="10.110." # / 16
create_network()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment