ganache 在哪里存储以太坊区块链

Posted

技术标签:

【中文标题】ganache 在哪里存储以太坊区块链【英文标题】:Where does ganache store the Ethereum blockchain 【发布时间】:2018-06-14 07:06:56 【问题描述】:

我实际上是在使用松露和 Ganache 进行一些开发。

我想知道 Ganache 将它的区块链存储在哪里,以查看我的测试使用了多少数据。它是否存储在电脑上可访问的某个位置?

我正在使用

Ubuntu 17.10 64 位 ganache-1.0.1-x86_64

【问题讨论】:

【参考方案1】:

TestRPC 过去只是在内存中。他们最近才发布了对将区块链写入文件系统的支持。据我所知,内存中的实现仍然是默认行为。如果您想查找区块链文件,您可以使用--db 选项自行指定位置。

来自他们的release page(v4.0.0 下):

因为我们通过文件系统支持 TestRPC,这意味着您可以 现在保存您的区块链数据以备后用。没错,如果你 关闭TestRPC,稍后再重新打开,比如说可以正常启动 你离开的地方。您需要使用新的 --db 选项(请参阅 README) 告诉 TestRPC 你想把数据保存在哪里。你会 也可能希望使用 --mnemonic 选项来使用相同的帐户 每次。

【讨论】:

谢谢,我尝试了 ganache-cli 并且成功了。我也尝试过 ganache,但似乎还没有实现。【参考方案2】:

如果要使用--db,需要使用参数--mnemonic--networkId

示例: ganache-cli -p 7545 --mnemonic --networkId 100 --db .

参考:https://github.com/trufflesuite/ganache-cli/issues/407#issuecomment-347663452

【讨论】:

就我而言,我必须为 --mnemonic 部分添加一个值,例如ganache-cli -p 7545 --mnemonic "polar velvet stereo oval echo senior cause cruel tube hobby exact angry" --networkId 100 --db .如果您多次运行该命令,请确认每次运行的可用帐户都相同【参考方案3】:

在 Ganache v2 中,有一个新功能允许您维护不同的工作区。每个工作空间可以代表一个不同的正在进行的链,并且可以通过在(几乎)任何时候从磁盘读取来恢复。

例如(在 Windows 上)名为“sample-spot”的工作区将存储在 %AppData%\Ganache\workspaces\sample-spot\chaindata(其中%AppData% 可能类似于C:\Users\yourname\AppData\Roaming\)。

一些额外的细节可以在代码here和文档here中找到。

【讨论】:

如果在 Mac 上 Ganache 有时会中断并通过删除 ~/Library/Application Support/Ganache 中的本地文件进行清理会有所帮助(相当于 AppData)。

以上是关于ganache 在哪里存储以太坊区块链的主要内容,如果未能解决你的问题,请参考以下文章

ERC20 代币余额如何存储在以太坊区块链上

以太坊 | 以太坊是币吗?传说中的区块链2.0来了 [1]

Windows下以太坊集成开发环境(Remix-IDE)搭建与智能合约的简单应用

区块链之旅以太坊超级账本公链联盟链

区块链账本存储

使用Ganache,web3js和remix在个人区块链上部署并调用合约