要详细做的朋友直接看下面的链接一步步跟着做。推特thread里是最基础的几步,截图和描述性的文字比较多,但操作其实很简单。按官方的说法这里是前3部分
https://twitter.com/Abrahamchase09/status/1570723379501735937
第4部分
第5部分
目前只出了5部分,看第5部分结尾好像还有后续。
这里我把重点的几步直接一次性做完,想干1000个号的朋友可以上。
关注下官方推特:https://twitter.com/DysonProtocol
加入官方discord:https://discord.gg/6sCCtDaH
准备keplr钱包,就是ATOM(阿童木)的钱包,这里不详细描述下载和安装。
登录:https://dys.dysonvalidator.com/ 后,keplr会弹出添加测试网络和允许访问的请求,approve即可。将keplr网络切到Dyson,复制钱包地址,类似 dys***** 。
到discord的test-airdrop频道提交钱包地址领水,等待5-30分钟不等,看管理员心情。
如果因为测试页面比较卡,手动做了刷新页面的操作,记得查看下右上角钱包有个锁的标记是不是锁了,点一下即可,再继续进行测试。
1. 左侧选择 Tx Builder , 选择 Dyson/sendMsgCreateStorage,可以看到下面有4个选框,分部选中,creator填自己的dyson地址;index填地址加斜杆加一个英文名(可随便取,但要记住,后面要用);datau部分随便写点内容即可,不重要;force选false。然后,拉到上面,点击“Sign Transaction”, 成功之后最下面会跳出一些返回信息(见本节最后一张图)。



2. 到上面的下拉框选择 Dyson/QueryStorage ,勾选index,填入上一步index中相同的内容(地址/你的英文名),然后点击 Run Query。会反馈你上一步写入的数据内容(见本节第2张图下面部分)。


3. 中间keplr钱包跳出确认的,点击同意(approve)即可。如果操作过程中页面长时间没有响应的,可以刷新页面,记得右上角解锁钱包。好了,如果上面2步执行没有问题。那我们的钱包和英文数据就写入系统成功了。
4. 页面左侧选择 Your Script , 在右侧复制如下代码:
import html
from string import Template
from dys import _chain, get_script_address, get_caller
def say_hello(my_name: str):
assert get_script_address() == get_caller(), "permission denied"
data = "hello " + my_name
print(data) # to help debug
return _chain(
"dyson/sendMsgCreateStorage",
creator=get_script_address(),
index=get_script_address() + "/Constantine",
data=data,
force=True,
)
def get_greeting():
pass
return _chain(
"dyson/QueryStorage",
index=get_script_address() + "/Constantine",
)
def render_page(body: str):
return Template(
"""<!doctype html>
<html>
<head>
<title>Hello World</title>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<style>
.heading {
text-shadow: #FC0 1px 0 10px;
}
</style>
</head>
<body>
<div class="container">
<h1 class="heading">Greeting!</h1>
<p>$body</p>
</div>
</body>
</html>
"""
).safe_substitute(body=body)
def application(environ, start_response):
start_response("200 ok", [("Content-type", "text/html")])
greeting_data = get_greeting()["result"]["storage"]["data"]
return [
render_page(html.escape(greeting_data)).encode(),
]
代码中将其中2处”Constantine”替换为自己的英文名,然后点击 “save” ,弹框确认, 稍微等一会,等页面最下方出现一些返回信息,基本可以判断为成功。
5. 浏览器新开窗口,打开https://dys1v45kjm2kuk6dju************xw8ya.dysonvalidator.com/ ,将dys1v45kjm2kuk6dju************xw8ya这一段替换为自己的dyson地址,即可得到类似如下页面。

好了,至此官方文档中想呈现的结果我们已经做完了。想要详细了解具体原理的朋友请参照文章开头相关链接的步骤,一步步自己跟着做即可。看官方medium第5部分的最后还提到了后面会新出的关于编程循环部分的新内容,有兴趣的可以自己继续关注。
最后,可以关注我的twitter: https://twitter.com/Constantine_He
