solidity智能合约开发简介

2024-06-13 1271阅读

什么是智能合约呢?

solidity智能合约开发简介 

智能合约不能单单理解为合约,因为它并不智能也并非合约,那从开发者的角度去看待的话,他就是一个在区块链上的程序对象,在整个区块链上的应用程序。所有人都可以看到智能合约,因为这些智能合约的代码和状态都在区块链上。而且,与网络服务器不同的是,智能合约不依赖某个特定的硬件设备。

solidity智能合约开发简介 

从用户角度来讲,智能合约通常被认为是一个自动担保账户,例如,当特定的条件满足时,程序就会释放和转移资金。

例子: 在以太坊上注册域名

pragma solidity ^0.5.0;

contract MyRegistry {

mapping ( string => address ) public registry;

function registerDomain(string memory domain) public {

  // Can only reserve new unretistered domain names require(registry[domain] =address(0));

  // Update the owner of this domain    

registry[domain]=msg.sender;

}

第一行solidity pragma

一个 pragma 指令指示 Solidity 编译器运行智能合约的版本。

下面的 pragma 指令显示智能合约是为 Solidity 版本 0.5.0编写的。^符号表示 Solidity 程序不应与低于 0.5.0的版本使用。

pragma solidity ^0.5.0;

pragma 指令始终位于源文件的本地,这意味着您必须将其添加到所有源文件中。

合约的名字就是myregistry。

Solidity 中有 3 种主要类型的变量:局部变量、状态变量和全局变量。

局部变量这些是在solidity 函数中声明的变量,它们不存储在区块链上。

状态变量是在solidity函数之外声明的变量,他们永远存储在区块链上。

Solidity 全局变量是其他函数可以访问的变量。它们保存有关区块链及其交易属性的信息。

 

第二行代码的意思就是把它映射带一个地址上,除此之外,在储存上,智能合约可以执行用户输入指令的函数,可以通过写一个字符串来进行一个唤醒。

下面总的代码就是来检查,首先,这个域名有没有被其他人所拥有,下一行就是更新存储文件,比如说你就是这个域名的拥有者。

function registerDomain(string memory domain) public {

  // Can only reserve new unretistered domain names require(registry[domain] =address(0));

  // Update the owner of this domain    

registry[domain]=msg.sender;

}

合约直接能不能进行交互呢?这是可以的,使用者不仅可以唤醒一个合约对象他的一些函数功能,而且合约对象的代码也会描述它如何发送信息如何唤醒另外一个合约,常见的就是一个多签的一个模式。意思是许多不同的使用者来共同控制合约的资产,多签之后每个人都有这个权限,所以有这个多签的权限,那么相互之间就可以相互交互。

solidity智能合约开发简介

 

重温到目前为止刚学的合约编程模型

合约类别: 定义合约的程序代码及存储变量

合约对象:一个存在于区块链上的类别实例

存储字段:由合约存储的变量

函数/方式: 可被唤醒来跑既定代码,更新合约状态

访问控制:使用“require(”来取消一些未被授权的交易。你也可以

用它来检视调用这个函数的调用者

组合: 在多个合约之间的交互。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]