Aidos Kuneen (v2 network) daemon program that is controlled through the command line and remotely via RPC calls

Related tags

Network adk-daemon
Overview

GoDoc GitHub license

adk-daemon: aidosd.v2

aidosd (v2) is a deamon which acts as bitcoind for adk. This version has been built specifically for network mesh version 2+

For now implemented APIs are:

NOTE: DON'T USE MULTIPLE ACCOUNTS. Account feature will be removed in a later version.

  • getnewaddress
  • listaccounts
  • listaddressgroupings
  • validateaddress
  • settxfee
  • walletpassphrase
  • sendmany
  • sendfrom
  • gettransaction
  • getbalance
  • sendtoaddress

and walletnotify feature.

Refer Bitcoin API Reference (e.g. here) for more details about how to call these APIs.

See incompatibility lists for details about incompatibilities with Bitcoin APIs.

Reqirements

  • go 1.15+
  • gcc (for linux)
  • mingw (for windows)

Build

	$ mkdir go
	$ cd go
	$ mkdir src
	$ mkdir bin
	$ mkdir pkg
	$ exoprt GOPATH=`pwd`
	$ cd src
	$ go get -u github.com/AidosKuneen/adk-daemon
	$ cd github.com/AidosKuneen/adk-daemon
	$ go build -o aidosd

NOTE: if you dont specify "-o aidosd" durign the build, your executable will be named adk-daemon instead (still works..). But if you want to replace an old installation you should rename it to "aidosd".

Configuration

Configurations are in aidosd.conf.

  • rpcuser : Username for JSON-RPC connections
  • rpcpassword: Password for JSON-RPC connections
  • rpcport: Listen for JSON-RPC connections on (default: 8332)
  • walletnotify: Execute command when a transaction comes into a wallet (%s in cmd is replaced by bundle ID)
  • aidos_node: Host address of an Aidos node server , which must be configured for wallet.
  • passphrase: Set false if your program sends tokens withtout walletpassphrase (default :true) .
  • tag: Set your identifier. You can use charcters 9 and A~Z and don't use other ones, and it must be under 20 characters.

This is used as tag in transactions aidosd sends.

Note that aidosd always encrypts seeds with AES regardless passphrase settings.

Examples of aidosd.conf:

rpcuser=put_your_username
rpcpassword=put_your_password
rpcport=8332
walletnotify=/home/adk/script/receive.sh %s
aidos_node=http://api1.mainnet.aidoskuneen.com:14266
testnet=false
passphrase=true
tag="AWESOME9EXCHANGER"

Usage

CHANGES TO VERSION 1 (aidosd):

Set up a new wallet

start aidosd with command

./aidosd -generate

This will set up a new wallet and generate a new seed for you. Make sure you write down the seed as it will only be shown once!

Set up a wallet by importing an existing seed

start aidosd with command

./aidosd -import

This will set up a new wallet, but prompt you for a seed. Once entered it will scan the Mesh for existing transactions and balances, and it will pre-calculate 50000 addresses (please be patient, this can take a while)

Set up a wallet by importing an existing seed from a V1 aidosd installation (aidosd.db)

In order to UPGRADE an existing aidosd setup (v1), simply overwrite the old v1 aidosd executable with the new v2 one. Then simply start aidosd with command

./aidosd

aidosd v2 will automatically recognize that you don't have a v2 seed database, so it will prompt you interactively if you want to scan the old database (aidosd.db) for the seed, and for existing/known addresses. (Note, it will also ask you the same if you use the -import parameter, but it sees that there is an old v1 aidosd.db file)

This will scan and import known addresses from the old database, and scan the Mesh for existing transactions and balances, and it will pre-calculate 50000 addresses (please be patient, this can take a while)

Once the wallet is set up:

In order to start aidosd, simply run it from commandline without parameter. It will prompt you for the password (unless you have set it via ENV parameter AIDOSD_PASSWORD )

$ ./aidosd
enter password: <input your password> 

Then aidosd starts to run in background.

$ ./aidosd
Enter password: 
starting the aidosd server at port http://0.0.0.0:8332
aidosd has started

To know if it is still running, run:

	$ ./aidosd status

This prints the status ("running" or "stopped").

When you want to stop:

	$ ./aidosd stop
Issues
Releases(v2.0.1)
Owner
Aidos Kuneen
Aidos Kuneen is a cryptocurrency without fees that covers the aspects of privacy, decentralization and scalability, while operating on a directed-acyclic-graph.
Aidos Kuneen
Antenna RPC is an RPC protocol for distributed computing, it's based on QUIC and Colfer. its currently an WIP.

aRPC - Antenna Remote Procedure Call Antenna remote procedure call (aRPC) is an RPC protocol focused on distributed processing and HPC. aRPC is implem

Raphael de Carvalho Almeida 3 Jun 16, 2021
A simple go program to proxy http request through a server with caching

go-http-proxy A simple go program to proxy http requests through a server with caching Usage All cli options are optional, and have the default values

null 1 Nov 21, 2021
rpc/v2 support for JSON-RPC 2.0 Specification.

rpc rpc/v2 support for JSON-RPC 2.0 Specification. gorilla/rpc is a foundation for RPC over HTTP services, providing access to the exported methods of

High Performance, Kubernetes Native Object Storage 3 Jul 4, 2021
Go Substrate RPC Client (GSRPC)Go Substrate RPC Client (GSRPC)

Go Substrate RPC Client (GSRPC) Substrate RPC client in Go. It provides APIs and types around Polkadot and any Substrate-based chain RPC calls. This c

Chino Chang 1 Nov 11, 2021
Golang `net/rpc` over SSH using installed SSH program

Golang net/rpc over SSH using installed SSH program This package implements a helper functions to launch an RPC client and server. It uses the install

null 0 Nov 5, 2021
⚙️ subnetting via command line

# Subnet subnetting via command line installation intall from binary file git clone https://github.com/nekonako/subnet.git cd subnet sudo ./install.sh

Galih wisnuaji 3 Nov 22, 2021
Group peer to peer video calls for everyone written in Go and TypeScript

Peer Calls v4 WebRTC peer to peer calls for everyone. See it live in action at peercalls.com. The server has been completely rewriten in Go and all th

Peer Calls 1k Dec 4, 2021
Receive phone calls from anybody on the Web. Or host a telephony server yourself.

WebCall WebRTC Telephony Server Browser based telephony over E2E-encrypted P2P-links with very high audio quality. WebCall is lightweight and easy to

Timur Mehrvarz 63 Nov 23, 2021
simplified helper to create http client calls to test your server

Overview Simplified creating http client calls for testing http servers or handlers. Cleanly build and execute http requests in tests so that you can

Adam Straughan 2 Nov 1, 2021
network multiplexing and framing protocol for RPC

TChannel Network multiplexing and framing protocol for RPC Read the Docs Languages: Node.js, Python, Go, Java Questions: Open a Github issue Uber's OS

Uber Open Source 1.1k Dec 4, 2021
scrapligo -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.

scrapligo -- scrap(e c)li (but in go!) -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.

null 85 Nov 29, 2021
get WHOIS with library, command or through HTTP server

Go Whois Provide WHOIS library, command line tool and server with restful APIs to query whois information for domains and IPs. It's also available to

shandilin 10 Nov 23, 2021
Minimalistic paste daemon written in golang

Minimalistic paste daemon written in golang

Christoph Hoopmann 1 Nov 8, 2021
shoutrrr daemon

shoutrrr daemon Orginal repositories: shoutrrr repository shoutrrr documentation Installation & Configuration Create a services.yaml with the followin

AdriDevelopsThings 0 Nov 12, 2021
Secure Time Sync Daemon

stsd - Secure Time Sync Daemon ============================== Set system date based on HTTP 'date' headers over TLS. Inspired by Whonix's sdwdate, an

null 0 Nov 17, 2021
Command-line tool and library for Windows remote command execution in Go

WinRM for Go Note: if you're looking for the winrm command-line tool, this has been splitted from this project and is available at winrm-cli This is a

Brice Figureau 339 Nov 25, 2021
Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and deadline support. MIT Licensed.

socket Package socket provides a low-level network connection type which integrates with Go's runtime network poller to provide asynchronous I/O and d

Matt Layher 24 Nov 2, 2021
Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution.

Connecting the Next Billion People Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core

Magma 1.1k Dec 7, 2021
Optimize Windows's network/NIC driver settings for NewTek's NDI(Network-Device-Interface).

windows-ndi-optimizer[WIP] Optimize Windows's network/NIC driver settings for NewTek's NDI(Network-Device-Interface). How it works This is batchfile d

Nil Hiiragi 2 Sep 23, 2021