All
Suodata mukaan:
Miten talletan käteistä tililleni?
Tarvitsen apua tilin vahvistamisessa
Miksi en voi käyttää tiliäni?
Onko kryptovaluuttojen nostossa maksuja?
Tarvitsen apua kirjautuessani tililleni.
Sisäiset API-laskelmat suoritetaan käyttäen niin monta desimaalia kuin kyseisen valuutan tarkkuus edellyttää, mutta näytetyt arvot pyöristetään tai katkaistaan joskus käyttökelpoisen arvon saavuttamiseksi tai muotoilutarkoituksissa.
Esimerkiksi Bitcoinin (BTC) laskelmissa käytetään jopa 10 desimaalia (BTC:n suurin käyttökelpoinen tarkkuus on 8 desimaalia), mutta ne näytetään joskus vain 5 desimaalin tarkkuudella. Vastaavasti Yhdysvaltain dollarin (USD) laskelmissa käytetään jopa 4 desimaalia (USD:n suurin käyttökelpoinen tarkkuus on tietysti 2 desimaalia), mutta ne näytetään usein vain 2 desimaalin tarkkuudella.
REST API:n Assets-päätepistettä voidaan käyttää yksittäisten valuuttojen suurimpien desimaalitarkkuuksien määrittämiseen:
$ ./krakenapi Assets asset=xbt,usd
{"error":[],"result":{"XXBT":{"aclass":"currency","altname":"XBT","decimals":10,"display_decimals":5},"ZUSD":{"aclass":"currency","altname":"USD","decimals":4,"display_decimals":2}}}
Kuten esitetty, Assets-päätepiste tarjoaa laskennan desimaalitarkkuudet decimals-kenttien kautta ja näyttödesimaalitarkkuudet display_decimals-kenttien kautta.
Paikallisten arvojen yhdistäminen API-arvoihin
Paikallisista laskelmista (kuten saldomuutosten laskeminen kaupan hinnan ja volyymin perusteella) johdetuissa arvoissa on usein enemmän desimaaleja kuin tarvitaan, ja ne on pyöristettävä tai katkaistava vastaamaan API:n antamia arvoja.
Esimerkiksi SHIB/USD-tilaus ostaa 50 123 SHIBiä hintaan 0,00002901 dollaria, mikä johtaa kauppaan, jonka arvo on 1,45406823 dollaria (50 123 x 0,00002901 = 1,45406823), mutta REST API:n Ledgers-päätepiste näyttää, että USD-saldo pieneni tarkemmalla arvolla 1,4541 dollaria:
"L2A7BN-OLRUR-DGZH7F":{"refid":"T5JORM-HM432-GQ3RGY","time":1639991413.4671,"type":"trade","subtype":"","aclass":"currency","asset":"ZUSD","amount":"-1.4541","fee":"0.0000","balance":"124.7277"}
Ratkaisu tämäntyyppiseen desimaalitarkkuuden epäjohdonmukaisuuteen on pyöristää tai katkaista paikalliset arvot vastaamaan REST API:n Assets-päätepisteen antamaa desimaalitarkkuutta.
Jatkamalla SHIB/USD-esimerkkiä, Assets-päätepiste osoittaa USD-laskennan tarkkuudeksi 4 (katso edellinen osio yllä), joten paikallisesti laskettu arvo 1,45406823 dollaria tulisi myös pyöristää tai katkaista 4 desimaalin tarkkuuteen:
50 123 x 0,00002901 = 1,45406823 pyöristettynä 4 desimaaliin = 1,4541
Kuten esitetty, pyöristämällä tai katkaisemalla sopivaan desimaalitarkkuuteen, lopullinen arvo 1,4541 dollaria vastaa täsmälleen Ledgers-päätepisteen antamaa arvoa, mikä mahdollistaa paikallisten arvojen onnistuneen yhdistämisen API-arvoihin.