LibreMoney

2. Основная часть

2.8. API (RestAPI)

Операции с транзакциями

Broadcast Transaction

Широковещательная передачи транзакции в сеть

Запрос

http://localhost:1400/api/broadcastTransaction?
     transactionBytes=TX_BYTECODE

Где:

Ответ

{
     "transaction":       "TRANSACTION_ID"
}

Пример

Запрос:

http://localhost:1400/api/broadcastTransaction?
     transactionBytes= 000022e22800e8036653833f4272604d...

Ответ:

{
     "transaction":       "17484500871708980634"
}

Проверено 18/05/14

Calculate Full Hash

Вычислить полный хэш транзакции

Запрос

http://localhost:1400/api/calculateFullHash?
     unsignedTransactionBytes=UNTXBYTES&
     signatureHash=SIGHASH

Где:

Ответ

{
     "fullHash": "FULLHASH" 
}

Пример

Запрос:

http://localhost:1400/api/calculateFullHash?
     unsignedTransactionBytes=01016e23d700a005668683e673274c67...&
     signatureHash=07afbcfb72b4fa91d8e22f8f47950404270edc1d250d2c6edad7a58679fbe1cf

Ответ:

{ 
     "fullHash": "cc98e57a065610d17c6ba6a6406e4930b9a740bf1737847ab2e96e3733233984" 
}

Проверено 15/05/14

Get Account Transaction IDs

Позволяет получать список идентификаторов транзакций, связанных с указанным аккаунтом

Запрос

http://localhost:1400/api/getAccountTransactionIds?
     account=ACCOUNT&
     timestamp=TIME

Где:

Ответ

{
     "transactionIds":
          [ARRAY_OF_IDs]
}

Где:

Пример

Запрос:

http://localhost:1400/api/getAccountTransactionIds?
     account=6331110009135084386&
     timestamp=0

Ответ:

{
     "transactionIds":
          [
               "17484500871708980634"
          ]
}

Get Unconfirmed Account Transaction IDs

Получить список идентификаторов неподтвержденных транзакций связанных с заданным LibreMoney аккаунтом

Запрос

http://localhost:1400/api/getUnconfirmedTransactionIds?
     account=ACCOUNT

Где:

Ответ

{
     "unconfirmedTransactionIds":
          [ARRAY_OF_IDs]
}

Где:

Пример

Запрос:

http://localhost:1400/api/getUnconfirmedTransactionIds?
     account=6331110009135084386

Ответ:

{
     "unconfirmedTransactionIds":
          [
               "17484500871708980634"
          ]
}

Проверено 18/05/14

Get Transaction

Возвращает данные заданной транзакции. Может задаваться любым параметром: ID транзакции, hash, или fullhash транзакции.

Запрос

http://localhost:1400/api/getTransaction?
     transaction=TRANSID&
     hash=HASH&
     fullHash=FULLHASH

Где:

Ответ

{
     "sender":          "SENDERACCOUNT",
     "senderRS":        "SENDERACCOUNTRS",
     "fee":          "FEE",
     "amount":       "AMOUNT",
     "timestamp":       TIME,
     "referencedTransaction":       REFTX,
     "confirmations":   CONFIRMS,
     "subtype":         SUBTYPE,
     "block":           "BLOCKID",
     "senderPublicKey": "PUBKEY",
     "type":            TYPE,
     "deadline":        DEADLINE,
     "signature":       "SIGNATURE",
     "recipient":       "RECIPACCOUNT",
     "recipientRS":     "RECIPACCOUNTRS",
     "fullHash":        "FULLHASH", 
     "signatureHash":   "SIGHASH", 
     "hash":            "HASH", 
     "transaction":     "TRANSID", 
     "attachment":
     {
          ATTACHMENT
     }
}

Где:

Внимание: Данные о неподтвержденной транзакции не содержат параметров "block" и/или "confirmations". Данные double-spending транзакций не возвращаются.

Пример

Запрос:

http://localhost:1400/api/getTransaction?
     transaction=16244659048134841060

Ответ:

{
     "sender":       "14336428216306750617",
     "senderRS":     "LMA-6DWM-GFYD-A7PS-72P3P",
     "fee":       "100000000",
     "amount":       "0",
     "timestamp":       7376798,
     "referencedTransaction":       "0",
     "confirmations":       6,
     "subtype":       1,
     "block":       "16385359704305994802",
     "blockTimestamp":       7376860,
     "attachment":
     {
          "alias":"LmApi",
          "uri":"http:\/\/libremoney.org/"
     },
     "senderPublicKey":       "64f103fbf0cc41045b1544cda6624eecfb8212b021fba22029a461c4b40c5d79",
     "type":       1,
     "deadline":       1,
     "signature":       "0cdf64cb06ea21396180a6f201b6a...",
     "recipient":       "1739068987193023818",
     "recipientRS":     "LMA-BK2J-ZMY4-93UY-8EM9V",
     "fullHash": "a3c47c4a2e60c2907efc9c4b9310066cabdf3e2137e67814aa57cb960ad2dfe1", 
     "signatureHash": "95cc276d1608dc0c14942a5efc82ccc701a56e873746ef1bfd37995c37ef5991", 
     "hash": "15a86f71e1ac267dce35791cefafb71460f458920784ea0d10894844f05894b0", 
     "transaction": "10431005438877942947"
}

Проверено 15/05/14

Parse Transaction

Получает данные транзакции

Запрос

http://localhost:1400/api/parseTransaction?
     transactionBytes=TRANSBYTES

Где:

Ответ

{
     "sender":          "SENDERACCOUNT",
     "senderRS":        "SENDERACCOUNTRS",
     "fee":          "FEE",
     "amount":       "AMOUNT",
     "timestamp":       TIME,
     "referencedTransaction":       REFTX,
     "confirmations":   CONFIRMS,
     "subtype":         SUBTYPE,
     "block":           "BLOCKID",
     "senderPublicKey": "PUBKEY",
     "type":            TYPE,
     "deadline":        DEADLINE,
     "signature":       "SIGNATURE",
     "recipient":       "RECIPACCOUNT",
     "recipientRS":     "RECIPACCOUNTRS",
     "fullHash":        "FULLHASH", 
     "signatureHash":   "SIGHASH", 
     "hash":            "HASH", 
     "transaction":     "TRANSID", 
     "attachment":
     {
          ATTACHMENT
     }
}

Где:

Внимание: Данные о неподтвержденной транзакции не содержат параметров "block" и/или "confirmations". Данные double-spending транзакций не возвращаются.

Пример

Запрос:

http://localhost:1400/api/parseTransaction?
     transactionBytes=000022e22800e8036653833f4272604d5d3ef39...

Ответ:

{
     "sender":       "14336428216306750617",
     "senderRS":     "LMA-6DWM-GFYD-A7PS-72P3P",
     "fee":       "100000000",
     "amount":       "0",
     "timestamp":       7376798,
     "referencedTransaction":       "0",
     "confirmations":       6,
     "subtype":       1,
     "block":       "16385359704305994802",
     "blockTimestamp":       7376860,
     "senderPublicKey":       "64f103fbf0cc41045b1544cda6624eecfb8212b021fba22029a461c4b40c5d79",
     "type":       1,
     "deadline":       1,
     "signature":       "0cdf64cb06ea21396180a6f201b6a...",
     "recipient":       "1739068987193023818",
     "recipientRS":     "LMA-BK2J-ZMY4-93UY-8EM9V",
     "fullHash": "a3c47c4a2e60c2907efc9c4b9310066cabdf3e2137e67814aa57cb960ad2dfe1", 
     "signatureHash": "95cc276d1608dc0c14942a5efc82ccc701a56e873746ef1bfd37995c37ef5991", 
     "hash": "15a86f71e1ac267dce35791cefafb71460f458920784ea0d10894844f05894b0", 
     "transaction": "10431005438877942947"
}

Проверено 15/05/14

Get Transaction Bytes

Возвращает байт-код транзакции.

Запрос

http://localhost:1400/api/getTransactionBytes?
     transaction=TXID

Где:

Ответ

{
     "confirmations":            CONFS,
     "transactionBytes":         "BYTECODE",
     "unsignedTransactionBytes": "UNBYTECODE"
}

Где:

Пример

Запрос:

http://localhost:1400/api/getTransactionBytes?
     transaction=17484500871708980634

Ответ:

{
     "confirmations":       4462,
     "transactionBytes":         "000022e22800e8036653833f4272604d5...",
     "unsignedTransactionBytes": "000022e22800e8036653833f42..." 
}

Проверено 18/05/14

Send Lm

Переслать указанное количество MilliLm на указанный аккаунт.

Запрос

http://localhost:1400/api/sendMoney?
     secretPhrase=SECRET&
     recipient=RECIPACCOUNT& 
     amount=AMOUNT& 
     fee=FEE& 
     deadline=DEADLINE& 
     referencedTransaction=REFTRANSACTION&
     publicKey=PUBKEY

Где:

Ответ

{ 
     "transaction":        "TRANSACTIONID" 
}

Где:

'Внимание! "deadline" указывается в минутах. "referencedTransaction" не обязательный параметр, может не использоваться.

Пример

Запрос:

http://localhost:1400/api/sendMoney?
     secretPhrase=IWontTellYou&
     recipient=398532577100249608&
     amount=1500&
     fee=5&
     deadline=900&
     referencedTransaction=13689168149259791567

Результат:

{ 
     "transaction":        "16244659048134841060" 
}

Проверено 18/05/14


Sign Transation

Рассчитать полный хэш (full hash), хэш подписи (signature hash), и транзакцию из неподписанной транзакции

Request

http://localhost:1400/api/signTransaction?
     unsignedTransactionBytes=UNTXBYTES&
     secretPhrase=SECRET

Где:

Ответ

{
     "fullHash":                 "FULLHASH", 
     "signatureHash":            "SIGHASH", 
     "transactionBytes":         "TXBYTES", 
     "transaction":              "TX", 
     "verify":                   "VERIFY"
}

Где:

Пример

Запрос:

http://localhost:1400/api/signTransaction?
     unsignedTransactionBytes=01016e23d700a005668683e673274c67...&
     secretPhrase=0123456789

Ответ:

{ 
     "fullHash":         "d56ade2c322083d76ebcdb9f9ef18d7d52c6d105f67be040cc423c7a41a47aea", 
     "signatureHash":    "458514e72f4272c789f99201c27cff611460de10fe484b474166c1199c23e754", 
     "transactionBytes": "0100471ddb00a005668683e673274c67180240...", 
     "transaction":      "15529291339976829653", 
     "verify":           true 
}

Проверено 15/05/14