常见问题

支持的设备和浏览器

问: Remix可以在哪个浏览器上工作?

答: 我们支持Firefox、Chrome和Brave。我们没有测试和调查Safari、Edge或其他浏览器中的错误。

Q: Remix会在平板电脑或移动设备上工作吗?

答: 我们不支持在平板电脑或移动设备上使用Remix。

常规

问: Remix中是否有键盘快捷键?

答: 是 - 这里是键盘快捷键列表:

Ctrl+S: 编译选中的 Solidity 文件

Ctrl+Shift+S:当脚本在编辑器中显示时,编译一个 Solidity 文件并运行脚本。 (点击 here

Ctrl+Shift+F: 打开文件浏览器

CTRL+Alt+F : 对当前文件中的代码进行格式化。

Ctrl+Shift+A : 打开插件管理器

Solidity 编译器

**问:**错误:编译器可能处于非正常状态

error: "Uncaught JavaScript exception: RangeError: Maximum call stack size exceeded.
The compiler might be in a non-sane state, please be careful and do not use further compilation data to deploy to mainnet.
It is heavily recommended to use another browser not affected by this issue (Firefox is known to not be affected)."

**答:**旧版本的solidity 编译器在chrome 中存在这个问题。请将 Solidity Plugin 中的编译器版本更改为较新的版本或使用其他浏览器。

问: 我遇到了一个问题:超过了最大调用堆栈,还有其他各种错误,最终无法编译。

**答:**尝试不同的浏览器或更新的solidity 编译器版本。

**问:**如何验证导入其他合约的合约?

**答:**验证工具不会递归地遍历合约中的导入语句。 所以只能验证一个“扁平化”的合约。

可以通过在文件资源管理器中右键点击合约并选择“ Flatten”选项来对合约进行“扁平化”处理。这将把所有原始代码和导入的代码压缩到单个文件中。

部署和运行

问: 我在我的应用程序中使用Infura节点,但是当我尝试在Remix IDE中选择“外部HTTP provider” 并将我的节点放入以便基于该节点进行部署时,它告诉我无法连接。

答: 如果您使用的端点是http,它将无法正常工作。

问: 部署按钮在哪里?

A:它位于部署和运行交易模块中。

**问:**如何将元组传递给 Remix 中的公共函数?

答: 将其作为数组 [] 传递。

问: 如何在Deploy & Run模块中输入一个struct作为函数参数的输入?

答: 输入一个结构体,就像一个元组一样,将它作为一个数组[] 传入。 您还需要输入以下内容:

pragma experimental ABIEncoderV2; 在solidity文件的顶部。

例如,这是一个具有结构体作为输入参数的 Solidity 文件。

pragma solidity >=0.4.22 <0.6.0;
pragma experimental ABIEncoderV2;

contract daPeeps {
    struct Peep {uint a; uint b;} // declaration of Peep type
    Peep peep; //declaration of an object of Peep type

    constructor () public
    {
        peep.a = 0; // definition/initialisation of object
        peep.b = 0; //
    }

    function initPeepToPeep(Peep memory i) public payable {
        peep.a = i.a;
        peep.b = i.b;
    }
    function setPeep(uint a, uint b) public payable {
        peep.a = a;
        peep.b = b;
    }

    function getPeep() public view returns(Peep memory)
    {
        return peep;
    }
}

initPeepToPeeps的输入需要一个结构体。如果您输入[1,2],交易将会通过。

插件开发者

问: 插件开发人员会去哪里解决他们的问题?

**A:**首先,加入我们的 Discord (https://discord.gg/zUNteAzJs3) 然后前往 development-plugin 频道。

数据分析

问: 当Matomo Analytics启用时,要保存哪些信息?

答: 我们想知道:

  • 哪些插件被激活和停用

  • 如果用户在部署时勾选框来发布合约的元数据

  • 哪个主题被使用/使用最多/根本不使用

  • 文档链接的使用

  • 在主页上使用了哪个文件导入按钮

问: 是选择加入还是选择退出?

答: 我们使用Matomo作为一种选择加入的分析平台。

Q: 信息存储在哪里?信息是否与第三方共享?

A: 通过 Matomo 收集的所有数据都存储在我们的服务器上,不会提供给第三方。

我们尊重您的隐私,不收集或储存任何可识别个人身份的信息。

问: Remix使用这些信息做什么?

答: 我们的目标是了解我们有多少用户,人们正在使用哪些插件, 哪些插件没有被使用,哪些插件没有充分发挥它们的潜力。

基于这种理解,我们可以调整用户界面,并提供更多的建议和文档。 这是从我们的用户获得匿名反馈的一种方式。

问: 在我同意加入后,我能否改变主意?

答: 您可以在设置面板中关闭或在 Matomo 上关闭。不选择加入或选择退出不会有任何后果。