我想制作一个 Rails 应用程序来跟踪我的加密货币硬币。
您将如何将值保存在数据库中?您会选择哪种数据类型字段?
我考虑过使用 rails-money gem,但只有 BTC(比特币)被设置为货币。
谢谢你的帮助
本尼
我想制作一个 Rails 应用程序来跟踪我的加密货币硬币。
您将如何将值保存在数据库中?您会选择哪种数据类型字段?
我考虑过使用 rails-money gem,但只有 BTC(比特币)被设置为货币。
谢谢你的帮助
本尼
您的架构是什么样的?我会有类似 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 来计算它们。
不过,对我来说,一个危险信号是您正在跟踪我认为是外部服务的余额。请记住,如果您不管理密钥,它们就不是您的硬币。