入门指南
欢迎体验 WSCChain 开发者之旅!本指南将帮助您快速上手 WSCChain 平台,从设置开发环境到部署您的首个智能合约,再到连接 WSCChain 主网。本章节面向初次接触 WSCChain 的开发者,旨在提供清晰的步骤和实用示例,确保您能迅速开始构建。
前提条件
在开始之前,请确保您具备以下基础知识和工具:
基础区块链知识:熟悉智能合约、区块链交易和以太坊虚拟机(EVM)的基本概念。
开发工具:
Node.js(建议 v16 或更高版本):用于运行 JavaScript 和安装依赖。
npm 或 yarn:包管理工具,用于安装项目依赖。
代码编辑器:推荐 Visual Studio Code 或类似工具。
钱包:安装 MetaMask 或其他兼容 EVM 的钱包,用于管理账户和测试网代币。
终端技能:基本的命令行操作能力。
如果您已经熟悉以太坊开发,WSCChain 的完全 EVM 兼容性将让您的迁移过程非常顺畅。
第一步:设置开发环境
安装必备工具
安装 Node.js 和 npm
下载并安装最新版本的 Node.js(包含 npm):Node.js 官网。
验证安装:
node -v npm -v如果您更喜欢 yarn,可使用
npm install -g yarn安装。
安装 Truffle 或 Hardhat WSCChain 支持以太坊主流开发框架。这里以 Hardhat 为例:
全局安装 Hardhat:
npm install -g hardhat创建一个新 Hardhat 项目:
npx hardhat选择“Create a basic sample project”并按提示完成初始化。
安装 MetaMask
下载并安装 MetaMask 浏览器扩展:MetaMask 官网。
创建或导入一个钱包账户,用于后续测试网交互。
配置 JuChain 网络
网络名称
WSC Chain Mainnet
描述
WSC Chain 主网
RPC 端点
https://rpc.onwsc.com wss://rpc.onwsc.com/ws
链 ID
20180422
货币符号
WSC
在 MetaMask 中添加 WSCChain 主网:
打开 MetaMask,点击“网络”下拉菜单。
选择“添加网络” > “手动添加网络”。
输入上述配置信息并保存。
第二步:获取主网 WSC 代币
在 WSCChain 主网上部署和测试智能合约需要 WSC 代币。您可以在使用跨链桥自行跨入。
第三步:编写您的首个智能合约
以下是一个简单的智能合约示例,用于在 WSCChain 上存储和读取数据。
创建智能合约
在 Hardhat 项目目录下,进入
contracts文件夹。创建文件
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
打开
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 私钥(从“账户详情”中导出,注意不要公开分享)。
确保安装必要的 Hardhat 插件:
npm install --save-dev @nomicfoundation/hardhat-toolbox
编译智能合约
在终端运行以下命令编译合约:
npx hardhat compile成功后,您将在 artifacts 文件夹中看到编译结果。
第四步:部署到 WSCChain 主网
编写部署脚本
在
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); });部署合约到 WSCChain 主网:
npx hardhat run scripts/deploy.js --network wscchain部署成功后,终端将输出合约地址,例如:
SimpleStorage deployed to: 0x1234...abcd
在 WSCChain 主网区块浏览器(https://scan.onwsc.com/)上输入合约地址,验证部署是否成功。
第五步:与智能合约交互
测试合约功能
在 Hardhat 控制台中测试:
npx hardhat console --network wscchain输入以下命令与合约交互:
const SimpleStorage = await ethers.getContractFactory("SimpleStorage"); const simpleStorage = await SimpleStorage.attach("0x1234...abcd"); // 替换为您的合约地址 await simpleStorage.set(42); (await simpleStorage.get()).toString();输出应为
"42",表示合约正常工作。
使用 ethers.js 前端交互(可选)
如果您想通过网页与合约交互:
初始化一个前端项目:
npm init -y npm install ethers创建
index.html和app.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
主网 RPC:
https://testnet-rpc.juchain.org在 Hardhat 或其他工具中直接使用此 RPC URL 连接网络。
最后更新于