0%

solidity | solidity 开发环境应该怎么选择

这里致力于找到一个行之有效、简单的 solidity 编辑器。


truffle


truffle 是本地的编辑器,请参考

但是,truffle 有以下的问题

  • 创建环境非常困难
  • DEBUG 并不完善

基于上述问题,truffle 并不是一个好的选择。


remix


经过排查后,发现还是基于浏览器的官方 remix 好用。

remix 可以做到下面的功能

  • 连通本地存储
  • solidity 书写
  • debug
  • 连通本地 ganache

这里说一下怎么基于本地文件系统配合 remix

安装本地连通器

这里直接安装

npm install -g @remix-project/remixd 「如果不加 -g 的话,command not found: remixd」

很多教程会安装

npm install remixd

但是,上面的命令已经过时。

进行 remix 和 本地连通。

remixd -s ./contracts

输出

[INFO] Sun May 29 2022 12:38:58 GMT+0800 (China Standard Time) remixd is listening on 127.0.0.1:65520
[INFO] Sun May 29 2022 12:38:58 GMT+0800 (China Standard Time) slither is listening on 127.0.0.1:65523

remix 进行本地连接。

本地编写

无论是 remix 改变还是 本地改变两个地方都能同步。

引用

我们在本地直接 npm 一个库,然后引用,会同步出现在 remix 浏览器上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract Rnd is ERC20 {
uint256 public _totalSupply = uint256(37800000000000 ether);
mapping(address => uint256) public is_reward;

constructor() ERC20("random", "ND"){
}

function reward() external {
uint256 random_number = block.timestamp % 10;
if (random_number > 2) {
is_reward[msg.sender] = random_number;
}
}
}

在浏览器上

非常 nice

请我喝杯咖啡吧~