# 智能合约

## Remix

{% embed url="<https://remix.ethereum.org>" %}
在线solidity编辑器
{% endembed %}

[设置DxChain3.0的MetaMask网络](https://dxchain.gitbook.io/dxchain-wiki/zhong-wen-she-qu/qian-bao#ce-shi-wang)，Remix的environment中选择 `injected web3` 和 MetaMask网络保持一致。

![](https://402733873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft7Yq0wZVG1pJ3PiTzoaE%2Fuploads%2Fzfga2W2PbcM1kwYtPoyz%2Fimage.png?alt=media\&token=c0906491-2aae-4d06-9e7d-4163653ce372)

新建`sol` 文件，编写智能合约代码。

```solidity
// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

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

contract TestToken is ERC20("TestToken", "TT") {}

```

![](https://402733873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft7Yq0wZVG1pJ3PiTzoaE%2Fuploads%2FVywxe0mQOhVkc7Hi34Zy%2Fimage.png?alt=media\&token=833311b3-db38-40e6-a9e3-4d5bd86ad62a)

选择适当版本的`solidity`编译器，设置自动编译和编译优化，进行合约编译。

![](https://402733873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft7Yq0wZVG1pJ3PiTzoaE%2Fuploads%2Fm4uRAevv5AaoLvqnEDzv%2Fimage.png?alt=media\&token=da227b25-c8c4-44d5-9887-1c898504ec9b)

选择 `injected web3` 网络，部署智能合约。

![](https://402733873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft7Yq0wZVG1pJ3PiTzoaE%2Fuploads%2FrIx8plxJjpxqmRixD5Za%2Fimage.png?alt=media\&token=b0102cce-610c-49c9-b3c3-6a8017991c53)

MetaMask 确认交易发送后，完成合约部署。

![](https://402733873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft7Yq0wZVG1pJ3PiTzoaE%2Fuploads%2FkmYFg8VkOlbdocemW25L%2Fimage.png?alt=media\&token=7f72b5c8-f889-4144-af31-74fa44927e7a)

## 其他

* hardhat
* truffle
* ......
