Client for LTO Network. Integration for both public blockchain and private event-chain.
Installation
npm install lto-api --save
Usage
const LTO = LTO;const lto = ;
Account
Creation
You can create a new random seed with keypair (ed25519):
const account = lto;console; // 'satisfy sustain shiver skill betray mother appear pupil coconut weasel firm top puzzle monkey seek'console; // { privateKey: '4iZ5a5Qx2Utd1432omPUsKXifctCnUr25PjYoR7ohLbnXgG6sazdBg2iXbywzuh6VNWPiFPCudSV2du9HxGxT8mV', publicKey: 'EUkmkWG6TRbsZdQ9UjGySTzkMJq9eaKAjwJpW3Wv6DDH' }
Recovery
It's also possible to recover a keypair from an existing seed:
const phrase = 'satisfy sustain shiver skill betray mother appear pupil coconut weasel firm top puzzle monkey seek'; const seed = lto;console; // 'satisfy sustain shiver skill betray mother appear pupil coconut weasel firm top puzzle monkey seek'console; // { privateKey: '4iZ5a5Qx2Utd1432omPUsKXifctCnUr25PjYoR7ohLbnXgG6sazdBg2iXbywzuh6VNWPiFPCudSV2du9HxGxT8mV', publicKey: 'EUkmkWG6TRbsZdQ9UjGySTzkMJq9eaKAjwJpW3Wv6DDH' }
Seed Encryption
Your seed can be encrypted:
const phrase = 'satisfy sustain shiver skill betray mother appear pupil coconut weasel firm top puzzle monkey seek'; const account = lto; const password = 'verysecretpassword';const encrypted = account; console; //U2FsdGVkX18tLqNbaYdDu5V27VYD4iSylvKnBjMmvQoFFJO1KbsoKKW1eK/y6kqahvv4eak8Uf8tO1w2I9hbcWFUJDysZh1UyaZt6TmXwYfUZq163e9qRhPn4xC8VkxFCymdzYNBAZgyw8ziRhSujujiDZFT3PTmhhkBwIT7FMs=
or
const phrase = 'satisfy sustain shiver skill betray mother appear pupil coconut weasel firm top puzzle monkey seek'; const password = 'verysecretpassword';const encrypted = lto;console; // U2FsdGVkX18tLqNbaYdDu5V27VYD4iSylvKnBjMmvQoFFJO1KbsoKKW1eK/y6kqahvv4eak8Uf8tO1w2I9hbcWFUJDysZh1UyaZt6TmXwYfUZq163e9qRhPn4xC8VkxFCymdzYNBAZgyw8ziRhSujujiDZFT3PTmhhkBwIT7FMs=
Decryption
To decrypt your seed:
const encryptedSeed = 'U2FsdGVkX18tLqNbaYdDu5V27VYD4iSylvKnBjMmvQoFFJO1KbsoKKW1eK/y6kqahvv4eak8Uf8tO1w2I9hbcWFUJDysZh1UyaZt6TmXwYfUZq163e9qRhPn4xC8VkxFCymdzYNBAZgyw8ziRhSujujiDZFT3PTmhhkBwIT7FMs=';const password = 'verysecretpassword';const phrase = lto;console; // satisfy sustain shiver skill betray mother appear pupil coconut weasel firm top puzzle monkey seek
EventChain
Create an event chain
const chain = account; // Creates an empty event chain with a valid id and last hash
Create and sign an event and add it to an existing event chain
const EventChain = EventChain;const Event = Event; const body = "$schema": "http://specs.livecontracts.io/01-draft/12-comment/schema.json#" "identity": "$schema": "http://specs.livecontracts.io/01-draft/02-identity/schema.json#" "id": "1bb5a451-d496-42b9-97c3-e57404d2984f" "content_media_type": "text/plain" "content": "Hello world!"; const chain = 'JEKNVnkbo3jqSHT8tfiAKK4tQTFK7jbx8t18wEEnygya'; chain;
HTTPSignature
Create a signature for an http request
const headers = date: "April 1, 2018 12:00:00"; const request = 'http://example.com' 'get' headers; const httpSign = request '(request-target)' 'date';const signatureHeader = httpSign; // keyId="FkU1XyfrCftc4pQKXCrrDyRLSnifX1SMvmx1CYiiyB3Y",algorithm="ed25519-sha256",headers="(request-target) date",signature="tMAxot4iWb8gB4FQ2zqIMfH2Fd8kA9DwSoW3UZPj9f8QlpLX5VvWf314vFnM8MsDo5kqtGzk7XOOy0TL4zVWAg=="