V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zywz999
V2EX  ›  区块链

aelf 2W 美金免费送活动参与过程

  •  
  •   zywz999 · 2019-06-06 00:04:28 +08:00 · 1163 次点击
    这是一个创建于 1758 天前的主题,其中的信息可能已经有所发展或是发生改变。

    aelf 奖励活动的 Demo 开发过程

    aelf 是一个多链条结构,每个 Dapps 应用和智能合约使用自己的链条,当很多应用同时进行时,大家都不需要共享资源。同时也是因为有自己的侧链,你可以做很多自定义化,甚至不同的链条使用不同的共识机制,POS、POW、PBFT 你想怎么玩就怎么玩。 在自治管理这一块儿,主链条使用 DPOS 共识机制,所有代币持有者可以投票选择委任代表。对于重大系统更新,社区可以投票改进,这也避免了以后系统分叉的问题。总结下来,aelf 就是一个开放式的 OS 生态环境。

    面对现有区块链系统的问题,AELF 提出以下解决方案:

    1. 节点根据类型进行划分,专业化记账节点能够运行在服务器集群之上,提高整个网络性能
    2. 主链+多侧链结构有效的实现资源隔离,做到“一链一场景”
    3. DPoS 共识机制下,代币持有人拥有最大话语权,保障网络高效的治理

    为了实现上述目标,ELF 的技术构架有以下几个方面:

    1. 一链一合约
    2. 侧链动态索引和树形侧链延伸
    3. 跨链优化

    接下来说重点

    aelf 团队近日在其公众号上举办了体验 aelf hello world 程序,分享 2W 美金 ELF,鄙人有幸参与到此项活动中,接下来给大家讲一讲本人踩过的坑和经验总结: 本人并没有 C#开发经验,所以参考了一位大神写的教程:简书链接 这位大神写的非常详细,但就是这样的情况下我还是踩到了不少的坑。 首先配环境之类的过程就不详细说了,这一步没什么难度主要注意 Vscode 的报错问题还有 Vscode 在 win10 下有时候会有 UAC 权限问题,所以推荐大家使用管理员权限打开 cmder 或者 powershell 进行编译和运行。 首先编译并启动整个链,然后方法和变量名必须先在 proto 后缀的文件里面声明一遍,类似这样:

    service HelloWorldContract {
    ​
        option (aelf.csharp_state) = "HelloWorldContractState";
    ​
        rpc Hello (google.protobuf.Empty) returns (HelloReturn) { }
    }
    ​
    message HelloReturn {
        string Value = 1;
    }
    

    rpc 就是声明 Hello 方法的表达,接下来我们要找到 HelloWorldContract.cs 文件,这是 c#的专用格式,里面可以实现方法并抛出结果,具体代码如下:

    using Google.Protobuf.WellKnownTypes;
    ​
    namespace HelloWorldContract
    {
        public partial class HelloWorldContract : HelloWorldContractContainer.HelloWorldContractBase
        {
            public override HelloReturn Hello(Empty input)
            {
                return new HelloReturn {Value = "Hello world!"};
            }
        }
    }
    

    就这样,一个简单的 aelf 应用就写好了,接下来我们可以通过修改.proto 和.cs 文件来实现各种各样的功能。 想要检查运行结果需要在 js 里面写然后通过浏览器查看具体结果,这里不做过多解释。 需要注意的是这种应用的 C#方法和其他语言有所区别 首先需要在 proto 文件里声明方法和传入传出参数才能具体执行,但优点显然就是通过这种方法我们可以实现非常多复杂的功能。这是我的第一个区块链应用,如有错误欢迎指正,谢谢。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5889 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 02:29 · PVG 10:29 · LAX 19:29 · JFK 22:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.