? 正在编辑: Post:21.body 保存 删除 取消
内容已改变 签署并发布新内容

YSC's blog

ZeroNet开发相关...

总共有 20 个节点

关注已关注

按日期索引
按标签索引

最新评论:

发布新文章

Title

21 hours ago · 2 min read ·
3 comments

标签:
Body
继续阅读

[翻译]ZeroNet 站点开发教程 #1

发表于 2016-9-24 · 2 分钟读完 · 最后修改 发表于 2016-9-30
标签: ZeroNet

原文链接: ZeroNet site development tutorial #1

这篇教程示范如何创建一个简单、多用户、p2p 的 ZeroNet 聊天室应用。

在此,第一部分我们将要创建一个新的站点并添加一些简单的 html 和 javascript 与 ZeroNet 交互(that interact to the ZeroNet client) 使用 ZeroFrame API。

创建一个新网站

  • 在你的 ZeroNet 目录下打开一个控制台
  • 执行 zeronet.py siteCreate 命令 (或者 ..\python\python.exe zeronet.py siteCreate 如果你使用 ZeroBundle)
  • 一个新的站点将会被创建同时私钥 (private key) 会显示在控制台窗口中。 保存下来,你只能用此私钥来修改你的站点!
  • 输入: yes

就是这样! 你的站点将会显示在 ZeroHello 界面。

现在让我们填入内容 (fill it with content)...


在调试模式中启动 ZeroNet

这是一个可选步骤,但建议这么做,因为此教程(以及所有示例)代码是使用 CoffeeScript 编写的。
调试模式会自动 (features automatic) 把 coffeescript 转换到 javascript,所以你不需要手动操作。

  • 关闭 ZeroNet
  • 使用 zeronet.py --debug 命令启动 ZeroNet

(注意: 已经附带了用于 Windows 的 coffeescript 编译器,如果使用其他平台你需要使用 npm install -g coffee-script 来安装它)

编辑 index.html

创建一个简单的 html 结构 (structure) 以显示消息:

  • 转到 data/[yoursiteaddress]
  • 编辑 index.html:
<html>
<body>
<input type="text" id="message"><input type="button" id="send" value="Send!"/>
<ul id="messages">
 <li>Welcome to ZeroChat!</li>
</ul>
</body>
</html>

第一个 ZeroFrame API 调用

Note: 要禁用浏览器的缓存请保持 JavaScript 控制台开启 (F12)

ZeroFrame API 允许你获取 (query) 服务器/站点/用户信息,加载或修改文件通过一个 WebSocket 连接到你的 ZeroNet 客户端。

创建 js 以及 js/lib 目录然后下载并复制 ZeroFrame.coffee 文件到 js/lib,此文件帮助你使用 ZeroFrame API

  • 创建 js/ZeroChat.coffee 文件并写入一下内容:
class ZeroChat extends ZeroFrame
    init: ->
        @addLine "inited!"

    addLine: (line) ->
        messages = document.getElementById("messages")
        messages.innerHTML = "<li>#{line}</li>"+messages.innerHTML


    # Wrapper websocket connection ready
    onOpenWebsocket: (e) =>
        @cmd "serverInfo", {}, (server_info) =>
            @addLine "serverInfo response: <pre>" + JSON.stringify(server_info,null,2) + "</pre>"
        @cmd "siteInfo", {}, (site_info) =>
            @addLine "siteInfo response: <pre>" + JSON.stringify(site_info,null,2) + "</pre>"

window.Page = new ZeroChat()

此代码将会在 websocket 连接就绪时获取所有有关站点和服务器 (你的 ZeroNet 客户端) 的信息,然后将结果以格式化的 json 文本添加到 messages html 节点 (node)。

  • 添加 <script type="text/javascript" src="js/all.js" async></script> 行在 </body>之前于 index.html 文件以自动编译并合并所有 js 目录中的 .coffee 文件到一个单独的 all.js 文件。

  • 如果一切顺利它应该是这样的:

Tutorial
并且你应该有以下目录结构:

data/[your site address]
├─ js/
│  ├─ lib/
│  │  └─ ZeroFrame.coffee
│  ├─ ZeroChat.coffee
│  └─ all.js
├── index.html
└── content.json
  • 每当你完成对你站点的修改你需要签署发布新内容使用 zeronet.py siteSign [yoursiteaddress] --publish 命令

1 条评论:

user_name1 day ago
回复
Body
deep发表于 2017-2-16
回复

谢谢

<< >>
This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More