Skip to content

golang library for starting and interacting with cliche

License

Notifications You must be signed in to change notification settings

fiatjaf/go-cliche

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-cliche

This is a small library that will start cliché and communicate with it via STDIN and STDOUT, allowing you to send commands, receive replies and also receive events.

See the example below or read the full API docs for more (not much more).

Examples

Starting it:

c := &cliche.Control{
	DataDir: ".",
    BinaryPath: "/usr/local/bin/cliche",
	// or JARPath: "/home/name/Downloads/cliche.jar", (requires java)
}

err := c.Start()
if err != nil {
	log.Fatal(err)
}

Getting general information:

info, err := c.GetInfo()
if err != nil {
	log.Fatal(err)
}
log.Print(info)

Listening for events

go func () {
	for invpaid := range c.IncomingPayments {
		log.Printf("got payment: %d msat", invpaid.Msatoshi)
    }
}

Creating an invoice

inv, err := c.CreateInvoice(cliche.CreateInvoiceParams{
	Msatoshi: 100000, Description: "test invoice"})
if err != nil {
	log.Fatal(err)
}
log.Print(inv)

Making an arbitrary call

resp, err := c.Call("request-hc", map[string]interface{}{
	"pubkey": "02cd1b7bc418fac2dc99f0ba350d60fa6c45fde5ab6017ee14df6425df485fb1dd",
	"host":   "134.209.228.207",
	"port":   80,
})
# resp will be json.RawMessage aka []byte

Other commands are available in the API docs.

About

golang library for starting and interacting with cliche

Resources

License

Stars

Watchers

Forks

Languages