0

我有一个 .csv 文件,其中包含与比特币钱包(发送和接收的交易)相关的近 100 万笔交易的交易 ID,我将其作为 tibble 读入 RStudio。现在我正在尝试在表格中添加另一列,其中列出了每笔交易的费用。这是使用 API 调用完成的。

For example, to get the fee for the txid 73336c8b2f8bbf9c4165de515765463d6e835a9f3f87bf822d8bcb23c074ae7f, I have to open: https://blockchain.info/q/txfee/73336c8b2f8bbf9c4165de515765463d6e835a9f3f87bf822d8bcb23c074ae7f and read the data there directly.

这是我当前记录前 500 笔交易费用的代码:

library(readr)
library(curl)
tx <- read_csv("transactions.csv", col_names = c("txid", "amount"), skip = 0, n_max = 500)
tx$fee <- 0
for (i in 1:nrow(tx))
    tx$fee[i] <- scan(paste0("https://blockchain.info/q/txfee/", tx$txid[i]))
write_csv(tx, "tx_with_fees.csv")

显然,我最大的瓶颈是访问网页所花费的时间。用于读取数据的方法似乎无关紧要(我尝试过 curl、get 和 scan)。使用上面的代码,记录每笔交易的费用大约需要 0.4 秒。

我接下来要做的是简单地打开 5 个 RStudio 实例,并为每个实例中的 100 行的不同集合运行代码。这样,我平均可以在 0.1 秒内处理每一行。速度提高了 4 倍,但我确信有比简单地打开多个 RStudio 实例更有效的并行化方法。

最好的方法是什么?

4

0 回答 0