Web 3.0 应用程序叫做 DApp,全名是 Decentralized Application(去中心化应用程序)。
要了解 DApp,首先就得了解“去中心化”,在 Web 2.0 的时候,我们访问的服务都属于【中心化】服务,管理者有绝对的权威,平台的一些举措,对用户有着很大的影响。
Web3.0,消除了中心化,没有集中式的数据库,没有存放后端代码的集中式 Web 服务器。采用了区块链技术,在互联网上的匿名节点维护的分布式状态机上构建应用程序。
“状态机”是指一台机器,它维护一些给定的程序状态、以及该机器上允许的未来状态,它具有非常严格的规则(即共识)来定义状态如何转换。
没有一个实体可以控制这个分布式的状态机——它由网络中的每个人共同维护。
后端逻辑代码化身成状态机上的“智能合约”,这是开源的。
solidity 详细解析如下,在 remix 中创建一个 infoContract.sol 文件:
pragma solidity^0.4.24;//声明编译器版本
//定义合约
contract InfoContract{
//定义成员,存储姓名和年纪:
string name;
//uint 为无符号型
uint age;
//定义函数,public 表示可以对外公开调用这个函数
function setInfo(string _name,uint _age)public{
//赋值
name=_name;
age=_age;
}
//获得状态变量的数据,不要修改状态变量用 view 修饰这个函数,不要消耗 gas,函数有返回值:
function getInfo()public view returns(string,uint){
return(name,age);
}