2

我想制作一个 Rails 应用程序来跟踪我的加密货币硬币。

您将如何将值保存在数据库中?您会选择哪种数据类型字段?

我考虑过使用 rails-money gem,但只有 BTC(比特币)被设置为货币。

谢谢你的帮助

本尼

4

1 回答 1

1

您的架构是什么样的?我会有类似 Balances 和 CoinTypes 表的东西。

在余额表中,您可以将加密金额跟踪为整数(就像对美元的整美分所做的那样,这意味着中本聪对 BTC 的金额)。您需要能够在此列中保存大量数字。我会做类似的事情t.integer :coin_amount :int5, :limit => 5

然而,在每个硬币下的硬币类型表中,您可以跟踪除以 crypto_amount 列所需的小数位数。

Balances

| ID            | COIN_AMOUNT   |TYPE  | DESCRIPTION |
| ------------- |---------------|------|-------------|
| 1             | 2300000000000 | 1    | "Ledger"    |
| 2             | 100000000     | 2    | "Coinbase"  |
| 3             | 100000000     | 2    | "Gemini"    |


CoinTypes

| ID            | NAME          |DECIMALS  |
| ------------- |---------------|----------|
| 1             | "Ethereum"    | 18       |
| 2             | "Bitcoin"     | 8        |

现在你知道你在 Gemini 和 Coinbase 上分别持有 1 BTC。您还可以计算出您持有的以太坊数量为 0.0000023。我不会将美元金额存储在数据库中,而是使用您持有硬币的任何服务的 api 来计算它们。

不过,对我来说,一个危险信号是您正在跟踪我认为是外部服务的余额。请记住,如果您不管理密钥,它们就不是您的硬币。

于 2018-02-11T21:31:58.943 回答