JSON output for bindings
This commit is contained in:
parent
b7d2a7432a
commit
e47d7a024f
|
@ -7,35 +7,44 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
//export doCreateAccount
|
//export doCreateAccount
|
||||||
func doCreateAccount(password, keydir *C.char) (*C.char, *C.char, C.int) {
|
func doCreateAccount(password, keydir *C.char) *C.char {
|
||||||
// This is equivalent to creating an account from the command line,
|
// This is equivalent to creating an account from the command line,
|
||||||
// just modified to handle the function arg passing
|
// just modified to handle the function arg passing
|
||||||
address, pubKey, err := createAccount(C.GoString(password), C.GoString(keydir))
|
address, pubKey, err := createAccount(C.GoString(password), C.GoString(keydir))
|
||||||
|
out := fmt.Sprintf(`{
|
||||||
|
"address": %s,
|
||||||
|
"pubkey": %s,
|
||||||
|
"error": %s
|
||||||
|
}`, address, pubKey, err.Error())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, err)
|
fmt.Fprintln(os.Stderr, err)
|
||||||
return C.CString(""), C.CString(""), -1
|
return C.CString(out)
|
||||||
}
|
}
|
||||||
return C.CString(address), C.CString(pubKey), 0
|
return C.CString(out)
|
||||||
}
|
}
|
||||||
|
|
||||||
//export doUnlockAccount
|
//export doUnlockAccount
|
||||||
func doUnlockAccount(address, password *C.char) C.int {
|
func doUnlockAccount(address, password *C.char) *C.char {
|
||||||
// This is equivalent to unlocking an account from the command line,
|
// This is equivalent to unlocking an account from the command line,
|
||||||
// just modified to unlock the account for the currently running geth node
|
// just modified to unlock the account for the currently running geth node
|
||||||
// based on the provided arguments
|
// based on the provided arguments
|
||||||
if err := unlockAccount(C.GoString(address), C.GoString(password)); err != nil {
|
err := unlockAccount(C.GoString(address), C.GoString(password))
|
||||||
|
out := fmt.Sprintf("{\"error\": %s}", err.Error())
|
||||||
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, err)
|
fmt.Fprintln(os.Stderr, err)
|
||||||
return -1
|
return C.CString(out)
|
||||||
}
|
}
|
||||||
return 0
|
return C.CString(out)
|
||||||
}
|
}
|
||||||
|
|
||||||
// export doStartNode
|
//export doStartNode
|
||||||
func doStartNode(datadir *C.char) C.int {
|
func doStartNode(datadir *C.char) *C.char {
|
||||||
// This starts a geth node with the given datadir
|
// This starts a geth node with the given datadir
|
||||||
if err := createAndStartNode(C.GoString(datadir)); err != nil {
|
err := createAndStartNode(C.GoString(datadir))
|
||||||
|
out := fmt.Sprintf("{\"error\": %s}", err.Error())
|
||||||
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, err)
|
fmt.Fprintln(os.Stderr, err)
|
||||||
return -1
|
return C.CString(out)
|
||||||
}
|
}
|
||||||
return 0
|
return C.CString(out)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue