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请求

你可能感兴趣的:(1-4智能合约的helloworld)