楼主: lovei130908
925 1

​​区块链DAPP合约代币系统开发Solidity详情 [推广有奖]

  • 0关注
  • 0粉丝

博士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
54.2448
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2000 点
帖子
113
精华
0
在线时间
65 小时
注册时间
2022-8-22
最后登录
2023-5-17

楼主
lovei130908 发表于 2022-10-9 14:27:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

目前市场上除了以太坊之外,还有超过1,000 条的区块链正在运行,同时在许多链上还有大大小小不同的智能合约在运作。智能合约会依照所撰写的程序代码提供相对应的服务,其中最常见的应用便是透过智能合约来发行项目方自己的代币,而为了避免不同项目方写出来的代币智能合约差异性太大使其他应用难以兼容,于是便有了一套货币的发行标准,例如:以太坊的ERC-20、币安链的BEP-20。

 智能合约开发是运行在区块链公链上的一种代码,该代码由Solidity编写,并通过区块链的智能合约虚拟机来执行,以达到对区块链编程的目标。可以将区块链公联理解为操作系统,Solidity是编写该操作系统应用程序的编程语言,智能合约虚拟机则是编程语言编译之后的代码运行环境。

区块链基本知识

交易

区块链通常被理解为超级账本,账户与账户之间可以通过交易来完成转账,只是这种转账方式与传统的银行转账有很大的不同。

<code style="font-family:Menlo, Courier, monospace, monospace, sans-serif;font-size:13.6px;margin:0px;padding:0px;border:none;white-space:pre-wrap;background-color:transparent;" class="hljs">contract Conference {

  address public organizer;

  mapping (address => uint) public registrantsPaid;

  uint public numRegistrants;

  uint public quota;

  event Deposit(address _from, uint _amount);  // so you can log these events

  event Refund(address _to, uint _amount);

  function Conference() { // Constructor

    organizer = msg.sender;

    quota = 500;

    numRegistrants = 0;

  }

  function buyTicket() public returns (bool success) {

    if (numRegistrants >= quota) { return false; }

    registrantsPaid[msg.sender] = msg.value;

    numRegistrants++;

    Deposit(msg.sender, msg.value);

    return true;

  }

  function changeQuota(uint newquota) public {

    if (msg.sender != organizer) { return; }

    quota = newquota;

  }

  function refundTicket(address recipient, uint amount) public {

    if (msg.sender != organizer) { return; }

    if (registrantsPaid[recipient] == amount) {

      address myAddress = this;

      if (myAddress.balance >= amount) {

        recipient.send(amount);

        registrantsPaid[recipient] = 0;

        numRegistrants--;

        Refund(recipient, amount);

      }

    }

  }

  function destroy() { // so funds not locked in contract forever

    if (msg.sender == organizer) {

      suicide(organizer); // send funds to organizer

    }

  }

}</code>

(1)这是一个完全去中心化的金融系统,区块链账户不需要使用者到银行机构或者其他部门申请,因为整个系统中没有这样的中心化部门来管理账户信息,使用者只需要根据一种非对称加密算法来生成一个密钥对,其公钥作为账户地址,也就是常说的区块链钱包地址,这个地址可以在网络中广播,允许网络中所有的账户获取和使用。

该账户是公开的。私钥作为转账交易的签名和密码,由使用者私人保管,每次转账时,需要通过私钥签名来证明交易的合法性。在现实使用中,区块链钱包会将私钥进行对称加密,通过使用者输入人类能够理解的密码作为私钥加密的密钥,将区块链密钥以密文的形式保存到磁盘空间中。需要注意的是,如果忘记解密密钥的密码,就失去了对账户的操作权限。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Solidity Solid OLI IDI DAP

沙发
三江鸿 发表于 2022-10-9 17:10:12 来自手机
点赞支持 感谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2026-1-17 13:50