# dyson 教程

By [Dluffy](https://paragraph.com/@dluffy) · 2022-09-19

---

第一步先加DC 准备领水

[https://discord.gg/uK8RsVsp](https://discord.gg/uK8RsVsp)

\[[https://dys.dysonvalidator.com/](https://dys.dysonvalidator.com/) \]([https://dys.dysonvalidator.com/](https://dys.dysonvalidator.com/) 进入登录Keplr钱包添加DYSON 得到DYSON地址后去DC 领水) 进入登录Keplr钱包添加DYSON 得到DYSON地址后去DC 领水

![](https://storage.googleapis.com/papyrus_images/814d7b04ff17a5e656fc61023b862d57168dfcaac40441cc8ca38493fa01d07d.png)

![](https://storage.googleapis.com/papyrus_images/dafdc27f742f54b110b1bb1edb511ff00e3a55ebbbf8ea042ce7a8a464dae9d3.png)

点击这里进入操作页面

![](https://storage.googleapis.com/papyrus_images/948c5daaef205ed527f7b0ae24a36227c1c6bb281239fcb079e62d1224c3b7eb.png)

输入以下代码 ，点击 SAVE 弹钱包授权

    def my_function():
        print('hello world')
        return 123
    

先点击Query 再点击Run

![](https://storage.googleapis.com/papyrus_images/47978ac04dace3f0e65480680a30db45c19a0c0e1ce65358f8afeda4904fddeb.png)

复制这个代码覆盖掉之前的代码，点击 SAVE 成功后页面如下

    def say_hello(my_name: str):
        print('say hello')
        return 123
    

![](https://storage.googleapis.com/papyrus_images/405954a11393e7cb9bd0ec1adee6bae179a9ff9468d925a08bae8ac6cfc7a7ed.png)

再复制这个代码 覆盖之前的 点击 SAVE

之后上方添加一个名字 然后点击 RUN

    def say_hello(my_name: str):
        print('hello '+ my_name)
        return 123
    

![](https://storage.googleapis.com/papyrus_images/8bf132da95ce92704ef1a4ad313c23fd7653119de9cd463b64273ee488dd3e9f.png)

[https://dys.dysonvalidator.com/txbuilder](https://dys.dysonvalidator.com/txbuilder) 右上角连接钱包

下拉找到如图位置点击

![](https://storage.googleapis.com/papyrus_images/d683e94381fa4a1f0f7479c7a99b657413293e42226c8c9c4b50d1072acf8986.png)

上划到如下界面

1.你的钱包地址

2.你的钱包地址/my\_greeting

3.随意

4.force 打勾

![](https://storage.googleapis.com/papyrus_images/8ae7fb5e47b47b4243479054d13546d081b56874d18998513ed74fa4327f5044.png)

点击sign

![](https://storage.googleapis.com/papyrus_images/e0235c531a053c556f0235a4d34ff08e5a23f3c8c2932dbe07e2a0f229d36b50.png)

左侧下拉找到如图点击

![](https://storage.googleapis.com/papyrus_images/a76d1d76cb2bf5a2d6b7b55f8853a69e5281bb2caf8bc6ed44adc9f88322150b.png)

输入上一步的 2.你的钱包地址/my\_greeting 点击RUN

![](https://storage.googleapis.com/papyrus_images/6955ce1a7c932182d3d5bdd5dcb2fea3039cf163cc3f4aea392e3ac05be9fd83.png)

显示上一步所填写信息

![](https://storage.googleapis.com/papyrus_images/d57173647d580ae9d2c5063aef834e3b148c352266574db052554d9177a914d9.png)

然后返回之前的代码页面 覆盖之前的代码，点击save，再点击run

    from dys import _chain, SCRIPT_ADDRESS
    def say_hello(my_name: str):
        data = "hello " + my_name
        print(data) # to help debug
        return _chain(
            "dyson/sendMsgCreateStorage",
            creator=SCRIPT_ADDRESS,
            index=SCRIPT_ADDRESS + "/my_greeting",
            data=data,
            force=True,
        )
    

![](https://storage.googleapis.com/papyrus_images/05a40fb03f76685a7a8bfcca615a640ec8c25ad63540cbcd6eedcbeeb81e3011.png)

再返回另一个页面 也就是 `dyson/QueryStorage`. 点击RUN

![](https://storage.googleapis.com/papyrus_images/51d7f4873f8cc300c32ff3ae02918b0c861f394f63efcf8341ddd91b285e01c1.png)

你会发现下面data 已经变成 hello + 你的名字

接下来进入下一步 返回代码页面

覆盖之前的代码 点击SAVE 然后点击 `Query say_hello`.

    from dys import _chain, get_script_address
    def say_hello(my_name: str):
        data = "hello " + my_name
        print(data) # to help debug
        return _chain(
            "dyson/sendMsgCreateStorage",
            creator=get_script_address(),
            index=get_script_address() + "/my_greeting",
            data=data,
            force=True,
        )
    

![](https://storage.googleapis.com/papyrus_images/3ce5fd9254dc7de7c3e26ed503161e8981fee4a8dd0b9d207892839709139eba.png)

再复制以下代码，覆盖之前的 点击SAVE

    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() + "/my_greeting",
            data=data,
            force=True,
        )
    

复制以下代码 添加到上一个代码下面

    def get_greeting():
        pass
        return _chain(
            "dyson/QueryStorage",
            index=get_script_address() + "/my_greeting",
        )
    

![](https://storage.googleapis.com/papyrus_images/717ca92b830241c1ae9f7f3ac1b0034634bf368e44c959b8c3050f1d453ef769.png)

正确的话 这里你会出现另一行功能

然后然后复制以下代码 继续添加到下方

    def application(environ, start_response):
        start_response("200 ok", [("Content-type", "text/plain")])
        return ["Test WSGI website says: hello world"]
    

![](https://storage.googleapis.com/papyrus_images/08048c46a6622393df82f560d8b34b27501335bb02bf820b990b973931eaf695.png)

点击 SAVE 点击 RUN

![](https://storage.googleapis.com/papyrus_images/c931687d629bb31c5ba7006ce44bdebed0f85a736c94d501e6875f08f0f0549d.png)

将上面蓝色框里的代码 替换成这个，在save

    def application(environ, start_response):
        start_response("200 ok", [("Content-type", "text/plain")])
        greeting_data = get_greeting()["result"]["storage"]["data"]
        return [greeting_data.encode()]
    

这时候 可以尝试打开 [https://dys1jytzclx6sztvhs2emg0r2ry3fcjdk3aj2uz2v6.dysonvalidator.com/](https://dys1jytzclx6sztvhs2emg0r2ry3fcjdk3aj2uz2v6.dysonvalidator.com/)

前面替换成你的钱包地址

刷新这个页面，看到 hello + 你的名字 就算成功了

![](https://storage.googleapis.com/papyrus_images/977eb7a0292af3fa2e3b03e6b6d33c249c2b5c9649043e84a707233764863dcf.png)

---

*Originally published on [Dluffy](https://paragraph.com/@dluffy/dyson)*
