CoreWorkPage
Signed Message
{
"signed": { (Ripple message) }, "signatures": [ { "hash": ("sha1" | "md5"), "sign": ("rsa" | "dsa" | "elgamal"), "signature": (base64) } ]
}
Hash all characters between the signed-message
curly braces. Sign the hash.
Public Key Data Structures
{
"dsa-key": { ("p": (base64),) ("q": (base64),) "g: (base64), "y: (base64), "j: (base64), ("seed": (base64),) ("p-gen-counter": (base64),) }
}
{
"rsa-key": { "modulus": (base64), "exponent": (base64), }
}
Error
{
"type": "error", "code": (string), ("field": (JSON address),) ("message": (string))
}
JSON Addressing
JSON addressing works like unix filesystem paths. Take the following piece of JSON:
{
"a": 1, "b": 2, "c": {"d": 4,"e": 5,"f":"d"}, "g": [6, 7, 8],
}
Maps (dictionaries) are easy to address -- use the key name. Array sequences (lists) are trickier. The array element at position n (first position is 0) is addressed by "[n]". A wildcard "[*]" indicates any array position.
So
/"a"
is1
/"c"/"e"
is 5/"g"/[1]
is 7/"g"/[*]
may be any of 6, 7, or 8
Paths may be relative to the path of an element as well, meaning that the value "d"
at /"c"/"f"
may be interpreted as pointing to /"c"/"d"
with is 5. (Only if you're expecting a JSON path at /"c"/"f"
though, otherwise it's just the string "d"
of course.)
Note that the quotations around path elements need to be escaped in JSON strings.