<100 subscribers


这是一个非常棒的方向!GenLayer 最核心的优势就在于它能像人类一样“理解”任务的质量,而不仅仅是像传统区块链那样只能核对“数字是否正确”。
针对技术小白,我们要避开晦涩的代码术语(比如 Gas、共识机制、ABI),用**“找一个 AI 只有打分的老板”**这个故事来讲这个教程。
想象一下,你雇佣了一个写手写文案。
传统模式:你得自己读文章,觉得好,再掏手机转账。
传统区块链:做不到。因为它看不懂文章好坏,只能确认字数。
GenLayer 模式:你部署一个“智能老板”。写手交稿 -> AI 自动阅读并打分 -> 根据分数自动发工资(比如 8 分发 8 个币)。
我们将基于你提供的脚手架(Boilerplate),教你理解并修改出这样一个**“按效果付费”**的智能合约。
虽然你是小白,但需要简单的工具来“拼装”这个积木:
电脑(Windows/Mac 均可)。
安装 Docker(把它想象成一个运行 GenLayer 的游戏模拟器)。
安装 VS Code(写代码的笔记本)。
我们需要先把那个脚手架项目下载下来。
打开电脑终端(Terminal 或 CMD)。
输入命令下载代码(如果你不会 Git,直接在 GitHub 页面点绿色按钮 Code -> Download ZIP 解压也行):
Bash
git clone https://github.com/calmanzeng/genlayer-project-boilerplate.git
cd genlayer-project-boilerplate
用 VS Code 打开这个文件夹。
在文件目录里找到 contracts 文件夹(这里放的是智能合约,也就是我们的“智能老板”)。
我们要新建一个文件叫 ContentRewarder.py(内容奖励器)。
请把下面的代码复制进去,我来用大白话告诉你每一段在干什么:
Python
import json
from genlayer import * # 引入 GenLayer 的工具箱
@gl.contract
class ContentRewarder:
# 1. 初始化:老板的钱包里得先有点钱
def __init__(self):
self.boss_balance = 1000 # 假设初始有1000个币
# 2. 核心功能:提交工作并获得报酬
@gl.public.write # 这是一个公开的、会改变状态的操作
def submit_work(self, content: str):
# --- 步骤 A: 召唤 AI 进行评估 ---
# 这里的 gl.nondet.llm 就是调用大模型
# 我们让 AI 扮演一个严厉的编辑
prompt = f"请给下面这段文案打分,范围是1到10分,只返回一个数字。文案内容:{content}"
# AI 思考并给出结果(比如 "8")
score_str = gl.nondet.llm.complete(prompt)
score = int(score_str)
# --- 步骤 B: 制定规则 ---
# 只有超过 6 分才给钱,防止有人乱填
if score < 6:
return f"质量太差,AI 打分只有 {score} 分,不予通过。"
# --- 步骤 C: 自动发钱 ---
# 比如:分数 * 10 就是奖励金额
reward = score * 10
# 检查老板钱够不够
if self.boss_balance < reward:
return "老板破产了,发不出钱了。"
# 扣除老板余额(实际场景这里会转账给用户)
self.boss_balance -= reward
return f"恭喜!AI 评分为 {score},你获得了 {reward} 个代币奖励!"
它有“脑子”:gl.nondet.llm.complete 这行代码让合约拥有了 ChatGPT 一样的能力,能读懂你写的中文。
它很“公正”:只要逻辑写好了,没人能赖账。代码里写了 score * 10,AI 评了 8 分,链上就必须给你 80 块。
在 VS Code 的终端里,我们需要启动 GenLayer 的模拟器环境来看看效果。
安装依赖(类似给游戏装补丁):
Bash
启动本地模拟器(可能需要几分钟):
Bash
npm run dev
测试你的合约:
通常脚手架里会有一个 test 文件夹。你可以找一个现成的测试文件,把里面的输入改成两段话:
测试 A(敷衍了事): "阿巴阿巴阿巴。" -> 预期结果:AI 打分低,甚至报错“质量太差”。
测试 B(认真工作): "GenLayer 结合了区块链的信任机制与大语言模型的智能,开启了智能合约的新纪元。" -> 预期结果:AI 打出高分(如 9 分),返回“获得 90 代币”。
做完这一步,你其实已经完成了一个**“去中心化的绩效考核系统”**。
它的商业价值:
对于公司:不需要雇佣经理去审核员工的日报/周报,AI 自动根据完成度发奖金。
对于众包平台:你想让人帮你找资料,不用自己一条条看。写好规则,如果 AI 判定资料相关度高,自动把钱打给搜集者。
对于创作者:写出好文章,读者点赞不算数,AI 作为一个中立的第三方“质检员”,直接把质量变现。
既然你已经理解了 “智能老板” 的逻辑,接下来我们进入最关键的实战环节:如何让普通用户通过网页看到并使用这个功能?
作为技术小白,你不需要从零写前端代码。这个脚手架(Boilerplate)已经为你准备好了大部分“零件”。我们现在的任务是:把前端的按钮和后端的 AI 合约连起来。
在项目文件夹中,找到 frontend/src 目录。这里是用户操作的界面。
找到负责主页的文件(通常是 page.tsx 或 App.tsx)。想象一下,我们需要给用户准备两个东西:
一个文本框:让用户输入工作内容(比如写好的文案)。
一个提交按钮:点击后触发合约,让 AI 开始打分并发钱。
你会看到类似这样的 JavaScript/TypeScript 代码,它负责把网页上的文字传给区块链:
JavaScript
// 这是一个模拟点击按钮的函数
const handleSubmitWork = async (myText) => {
// 1. 连接到我们刚才写的 ContentRewarder 合约
const contract = await genlayer.getContract("ContentRewarder");
// 2. 发送交易:调用我们写的 submit_work 方法
// 就像在网页上点击“发送邮件”一样
const result = await contract.submit_work(myText);
// 3. 把 AI 的反馈显示在屏幕上
alert(result);
};
代码写好了,模拟器也跑通了,现在你要把它发布到 GenLayer 测试网,让全世界的人都能看到(虽然是测试用的假钱)。
获取测试币:在 GenLayer 的官方 Discord 或水龙头(Faucet)领取一些测试代币。
执行部署指令:
在终端输入:
Bash
npm run deploy
这时你会得到一个 Contract Address(合约地址),它像一串长长的乱码(例如 0x123...abc)。这就是你的“智能公司”在区块链上的唯一门牌号。
作为小白,你可能觉得这只是写了几行代码,但请看这个对比:
维度 | 传统打工/外包 | 传统区块链 (ETH/Solana) | GenLayer (Performance-based) |
谁来发钱 | 老板/财务(可能拖欠) | 代码自动执行(必须写死规则) | AI 智能判定后自动执行 |
判标准度 | 主观、可能不公平 | 只能判定“数字”或“开关” | 能判定“质量”、“创意”、“情感” |
信任成本 | 高(需要签合同、催款) | 低(代码即法律) | 极低(AI 像公平的法官一样裁决) |
现在你已经有了一个“文案打分发钱”的系统,试着稍微改动一点代码,把它变成以下任何一个项目:
编程助教:用户提交一段代码,AI 检查有没有 Bug,没 Bug 就奖励 10 个币。
翻译激励:用户提交一段翻译,AI 对比原文,翻译得越地道,奖金越高。
夸夸群机器人:只要用户说出一句有创意的夸人话,AI 就自动打赏。
AI 不是免费的:在 GenLayer 上调用 AI 也是需要消耗“燃料费”的。别让 AI 写长篇小说,否则你的合约余额会很快耗尽。
提示词(Prompt)很重要:如果你的 AI 老板乱发钱,通常是因为你在 Python 合约里写的 prompt 不够清晰。记得告诉它:“如果内容少于 10 个字,直接给 0 分”。
这是一个非常棒的方向!GenLayer 最核心的优势就在于它能像人类一样“理解”任务的质量,而不仅仅是像传统区块链那样只能核对“数字是否正确”。
针对技术小白,我们要避开晦涩的代码术语(比如 Gas、共识机制、ABI),用**“找一个 AI 只有打分的老板”**这个故事来讲这个教程。
想象一下,你雇佣了一个写手写文案。
传统模式:你得自己读文章,觉得好,再掏手机转账。
传统区块链:做不到。因为它看不懂文章好坏,只能确认字数。
GenLayer 模式:你部署一个“智能老板”。写手交稿 -> AI 自动阅读并打分 -> 根据分数自动发工资(比如 8 分发 8 个币)。
我们将基于你提供的脚手架(Boilerplate),教你理解并修改出这样一个**“按效果付费”**的智能合约。
虽然你是小白,但需要简单的工具来“拼装”这个积木:
电脑(Windows/Mac 均可)。
安装 Docker(把它想象成一个运行 GenLayer 的游戏模拟器)。
安装 VS Code(写代码的笔记本)。
我们需要先把那个脚手架项目下载下来。
打开电脑终端(Terminal 或 CMD)。
输入命令下载代码(如果你不会 Git,直接在 GitHub 页面点绿色按钮 Code -> Download ZIP 解压也行):
Bash
git clone https://github.com/calmanzeng/genlayer-project-boilerplate.git
cd genlayer-project-boilerplate
用 VS Code 打开这个文件夹。
在文件目录里找到 contracts 文件夹(这里放的是智能合约,也就是我们的“智能老板”)。
我们要新建一个文件叫 ContentRewarder.py(内容奖励器)。
请把下面的代码复制进去,我来用大白话告诉你每一段在干什么:
Python
import json
from genlayer import * # 引入 GenLayer 的工具箱
@gl.contract
class ContentRewarder:
# 1. 初始化:老板的钱包里得先有点钱
def __init__(self):
self.boss_balance = 1000 # 假设初始有1000个币
# 2. 核心功能:提交工作并获得报酬
@gl.public.write # 这是一个公开的、会改变状态的操作
def submit_work(self, content: str):
# --- 步骤 A: 召唤 AI 进行评估 ---
# 这里的 gl.nondet.llm 就是调用大模型
# 我们让 AI 扮演一个严厉的编辑
prompt = f"请给下面这段文案打分,范围是1到10分,只返回一个数字。文案内容:{content}"
# AI 思考并给出结果(比如 "8")
score_str = gl.nondet.llm.complete(prompt)
score = int(score_str)
# --- 步骤 B: 制定规则 ---
# 只有超过 6 分才给钱,防止有人乱填
if score < 6:
return f"质量太差,AI 打分只有 {score} 分,不予通过。"
# --- 步骤 C: 自动发钱 ---
# 比如:分数 * 10 就是奖励金额
reward = score * 10
# 检查老板钱够不够
if self.boss_balance < reward:
return "老板破产了,发不出钱了。"
# 扣除老板余额(实际场景这里会转账给用户)
self.boss_balance -= reward
return f"恭喜!AI 评分为 {score},你获得了 {reward} 个代币奖励!"
它有“脑子”:gl.nondet.llm.complete 这行代码让合约拥有了 ChatGPT 一样的能力,能读懂你写的中文。
它很“公正”:只要逻辑写好了,没人能赖账。代码里写了 score * 10,AI 评了 8 分,链上就必须给你 80 块。
在 VS Code 的终端里,我们需要启动 GenLayer 的模拟器环境来看看效果。
安装依赖(类似给游戏装补丁):
Bash
启动本地模拟器(可能需要几分钟):
Bash
npm run dev
测试你的合约:
通常脚手架里会有一个 test 文件夹。你可以找一个现成的测试文件,把里面的输入改成两段话:
测试 A(敷衍了事): "阿巴阿巴阿巴。" -> 预期结果:AI 打分低,甚至报错“质量太差”。
测试 B(认真工作): "GenLayer 结合了区块链的信任机制与大语言模型的智能,开启了智能合约的新纪元。" -> 预期结果:AI 打出高分(如 9 分),返回“获得 90 代币”。
做完这一步,你其实已经完成了一个**“去中心化的绩效考核系统”**。
它的商业价值:
对于公司:不需要雇佣经理去审核员工的日报/周报,AI 自动根据完成度发奖金。
对于众包平台:你想让人帮你找资料,不用自己一条条看。写好规则,如果 AI 判定资料相关度高,自动把钱打给搜集者。
对于创作者:写出好文章,读者点赞不算数,AI 作为一个中立的第三方“质检员”,直接把质量变现。
既然你已经理解了 “智能老板” 的逻辑,接下来我们进入最关键的实战环节:如何让普通用户通过网页看到并使用这个功能?
作为技术小白,你不需要从零写前端代码。这个脚手架(Boilerplate)已经为你准备好了大部分“零件”。我们现在的任务是:把前端的按钮和后端的 AI 合约连起来。
在项目文件夹中,找到 frontend/src 目录。这里是用户操作的界面。
找到负责主页的文件(通常是 page.tsx 或 App.tsx)。想象一下,我们需要给用户准备两个东西:
一个文本框:让用户输入工作内容(比如写好的文案)。
一个提交按钮:点击后触发合约,让 AI 开始打分并发钱。
你会看到类似这样的 JavaScript/TypeScript 代码,它负责把网页上的文字传给区块链:
JavaScript
// 这是一个模拟点击按钮的函数
const handleSubmitWork = async (myText) => {
// 1. 连接到我们刚才写的 ContentRewarder 合约
const contract = await genlayer.getContract("ContentRewarder");
// 2. 发送交易:调用我们写的 submit_work 方法
// 就像在网页上点击“发送邮件”一样
const result = await contract.submit_work(myText);
// 3. 把 AI 的反馈显示在屏幕上
alert(result);
};
代码写好了,模拟器也跑通了,现在你要把它发布到 GenLayer 测试网,让全世界的人都能看到(虽然是测试用的假钱)。
获取测试币:在 GenLayer 的官方 Discord 或水龙头(Faucet)领取一些测试代币。
执行部署指令:
在终端输入:
Bash
npm run deploy
这时你会得到一个 Contract Address(合约地址),它像一串长长的乱码(例如 0x123...abc)。这就是你的“智能公司”在区块链上的唯一门牌号。
作为小白,你可能觉得这只是写了几行代码,但请看这个对比:
维度 | 传统打工/外包 | 传统区块链 (ETH/Solana) | GenLayer (Performance-based) |
谁来发钱 | 老板/财务(可能拖欠) | 代码自动执行(必须写死规则) | AI 智能判定后自动执行 |
判标准度 | 主观、可能不公平 | 只能判定“数字”或“开关” | 能判定“质量”、“创意”、“情感” |
信任成本 | 高(需要签合同、催款) | 低(代码即法律) | 极低(AI 像公平的法官一样裁决) |
现在你已经有了一个“文案打分发钱”的系统,试着稍微改动一点代码,把它变成以下任何一个项目:
编程助教:用户提交一段代码,AI 检查有没有 Bug,没 Bug 就奖励 10 个币。
翻译激励:用户提交一段翻译,AI 对比原文,翻译得越地道,奖金越高。
夸夸群机器人:只要用户说出一句有创意的夸人话,AI 就自动打赏。
AI 不是免费的:在 GenLayer 上调用 AI 也是需要消耗“燃料费”的。别让 AI 写长篇小说,否则你的合约余额会很快耗尽。
提示词(Prompt)很重要:如果你的 AI 老板乱发钱,通常是因为你在 Python 合约里写的 prompt 不够清晰。记得告诉它:“如果内容少于 10 个字,直接给 0 分”。
Share Dialog
Share Dialog
No comments yet