1-4智能合约的helloworld

helloworld 本来是初到世界的第一声问候,本来应该是轻松愉快,对未来充满着无限的期待的一件乐事。

但智能合约的helloworld 确可以说是非常艰苦了。

当然你可以写一句 runtime .log("hello world");来假装轻松愉快。因为neo智能合约并没有自己的专属语言,所以这和c#没什么不同。

neo智能合约是采用编译其它语言为neo虚拟机字节码的方式,我们都会用c#.这很方便,因为neo源码也是用c#编写的。

然后你这句智能合约并不能f5一下就跑起来。这就开始不愉快了。智能合约的系统里没有显示器,helloworld这样简单有趣的例子,你在智能合约的世界根本就不可能运行。

所以让我们忘记这个轻松有趣的例子吧。必须要搞清楚智能合约的输入输出,搞清楚的运行方式,搞清楚怎么观察。

准确的说,NEO智能合约将有4种触发机制,但写这篇文字时,有两种仍然处于未来时,

所以我们只讨论

UTXO付款鉴权合约

应用合约

让我们先跳过鉴权合约,这个理解起来比较困难,先从简单的开始。

应用合约只有三种输出手段,一是返回值、二是Storage、三是Notify。如果非要再严格一点,Log 算半个吧。那我们有三个半输出手段

之前那句Runtime.Log("hello world.");因为只能算半个输出手段,作为helloworld 智能算半个。


下面这个,才能算一个helloworld

   public class Test01: SmartContract

   {

       public static objectMain()

       {

            var helloworld= "helloworld";

            return helloworld;

       }


}

你不需要发布他,只需要在neogui里面用执行自定义合约直接加载他的AVM 点test

或者用NEOCLI的RPC接口对他的AVM做一个invokescript http请求

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容