入门指南

欢迎体验 WSCChain 开发者之旅!本指南将帮助您快速上手 WSCChain 平台,从设置开发环境到部署您的首个智能合约,再到连接 WSCChain 主网。本章节面向初次接触 WSCChain 的开发者,旨在提供清晰的步骤和实用示例,确保您能迅速开始构建。

前提条件

在开始之前,请确保您具备以下基础知识和工具:

  • 基础区块链知识:熟悉智能合约、区块链交易和以太坊虚拟机(EVM)的基本概念。

  • 开发工具

    • Node.js(建议 v16 或更高版本):用于运行 JavaScript 和安装依赖。

    • npmyarn:包管理工具,用于安装项目依赖。

    • 代码编辑器:推荐 Visual Studio Code 或类似工具。

  • 钱包:安装 MetaMask 或其他兼容 EVM 的钱包,用于管理账户和测试网代币。

  • 终端技能:基本的命令行操作能力。

如果您已经熟悉以太坊开发,WSCChain 的完全 EVM 兼容性将让您的迁移过程非常顺畅。

第一步:设置开发环境

安装必备工具

  1. 安装 Node.js 和 npm

    • 下载并安装最新版本的 Node.js(包含 npm):Node.js 官网

    • 验证安装:

      node -v
      npm -v
    • 如果您更喜欢 yarn,可使用 npm install -g yarn 安装。

  2. 安装 Truffle 或 Hardhat WSCChain 支持以太坊主流开发框架。这里以 Hardhat 为例:

    • 全局安装 Hardhat:

      npm install -g hardhat
    • 创建一个新 Hardhat 项目:

      npx hardhat

      选择“Create a basic sample project”并按提示完成初始化。

  3. 安装 MetaMask

    • 下载并安装 MetaMask 浏览器扩展:MetaMask 官网

    • 创建或导入一个钱包账户,用于后续测试网交互。

配置 JuChain 网络

名称

网络名称

WSC Chain Mainnet

描述

WSC Chain 主网

RPC 端点

https://rpc.onwsc.com wss://rpc.onwsc.com/ws

链 ID

20180422

货币符号

WSC

在 MetaMask 中添加 WSCChain 主网:

  1. 打开 MetaMask,点击“网络”下拉菜单。

  2. 选择“添加网络” > “手动添加网络”。

  3. 输入上述配置信息并保存。

第二步:获取主网 WSC 代币

在 WSCChain 主网上部署和测试智能合约需要 WSC 代币。您可以在使用跨链桥自行跨入。

第三步:编写您的首个智能合约

以下是一个简单的智能合约示例,用于在 WSCChain 上存储和读取数据。

创建智能合约

  1. 在 Hardhat 项目目录下,进入 contracts 文件夹。

  2. 创建文件 SimpleStorage.sol,并输入以下代码:

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.0;
    
    contract SimpleStorage {
        uint256 private storedValue;
    
        // 存储一个值
        function set(uint256 _value) public {
            storedValue = _value;
        }
    
        // 获取存储的值
        function get() public view returns (uint256) {
            return storedValue;
        }
    }

配置 Hardhat

  1. 打开 hardhat.config.js,添加 WSCChain 测试网配置:

    require("@nomicfoundation/hardhat-toolbox");
    
    module.exports = {
      solidity: "0.8.0",
      networks: {
        juchain_testnet: {
          url: "https://rpc.onwsc.com",
          chainId: 
          accounts: ["YOUR_PRIVATE_KEY"] // 替换为您的私钥(注意安全)
        }
      }
    };
    • YOUR_PRIVATE_KEY 替换为您的 MetaMask 私钥(从“账户详情”中导出,注意不要公开分享)。

  2. 确保安装必要的 Hardhat 插件:

    npm install --save-dev @nomicfoundation/hardhat-toolbox

编译智能合约

在终端运行以下命令编译合约:

npx hardhat compile

成功后,您将在 artifacts 文件夹中看到编译结果。

第四步:部署到 WSCChain 主网

编写部署脚本

  1. scripts 文件夹中,创建 deploy.js

    const hre = require("hardhat");
    
    async function main() {
      const SimpleStorage = await hre.ethers.getContractFactory("SimpleStorage");
      const simpleStorage = await SimpleStorage.deploy();
    
      await simpleStorage.deployed();
      console.log("SimpleStorage deployed to:", simpleStorage.address);
    }
    
    main()
      .then(() => process.exit(0))
      .catch((error) => {
        console.error(error);
        process.exit(1);
      });
  2. 部署合约到 WSCChain 主网:

    npx hardhat run scripts/deploy.js --network wscchain
    • 部署成功后,终端将输出合约地址,例如:

      SimpleStorage deployed to: 0x1234...abcd
  3. 在 WSCChain 主网区块浏览器(https://scan.onwsc.com/)上输入合约地址,验证部署是否成功。

第五步:与智能合约交互

测试合约功能

  1. 在 Hardhat 控制台中测试:

    npx hardhat console --network wscchain
  2. 输入以下命令与合约交互:

    const SimpleStorage = await ethers.getContractFactory("SimpleStorage");
    const simpleStorage = await SimpleStorage.attach("0x1234...abcd"); // 替换为您的合约地址
    await simpleStorage.set(42);
    (await simpleStorage.get()).toString();
    • 输出应为 "42",表示合约正常工作。

使用 ethers.js 前端交互(可选)

如果您想通过网页与合约交互:

  1. 初始化一个前端项目:

    npm init -y
    npm install ethers
  2. 创建 index.htmlapp.js,示例代码如下:

    import { ethers } from "ethers";
    
    const provider = new ethers.providers.Web3Provider(window.ethereum);
    await provider.send("eth_requestAccounts", []);
    const signer = provider.getSigner();
    const contractAddress = "0x1234...abcd"; // 替换为您的合约地址
    const abi = [ /* 从 artifacts/SimpleStorage.json 中复制 ABI */ ];
    const contract = new ethers.Contract(contractAddress, abi, signer);
    
    // 设置值
    await contract.set(100);
    // 获取值
    const value = await contract.get();
    console.log("Stored value:", value.toString());

第六步:连接 WSCChain 主网节点

WSCChain 提供免费的公共 RPC 节点,开发者无需自己运行节点即可开发和测试。

使用公共 RPC

  • 主网 RPChttps://testnet-rpc.juchain.org

  • 在 Hardhat 或其他工具中直接使用此 RPC URL 连接网络。

最后更新于