使用Solidity开发区块链dApp应用教程 - oliver


本文为您提供开发区块链dApp应用的几个简单建议,非常适合初学者,为您提供帮助!
Solidity是一种用于在以太坊VM上创建智能合约的编程语言。是一种面向对象的高级编程语言,旨在在以太坊虚拟机上实现智能合约。它是静态类型的,支持继承,库和复杂的用户定义类型。语言最初于2014年提出,后来被以太坊基金会用作以太坊智能合约开发的主要语言。它受到C / C ++,JavaScript和Python等语言的启发。
 
1.Voting dApp

可让用户创建选举的dApp。任何用户都可以开始选举并选择注册时间,投票时间和结束时间。在注册期间,用户可以注册为候选人。
注册期结束后,就应该没有人可以注册了。任何人都可以为自己喜欢的候选人启动投票,您的前端应显示公开的选举、当前时间段、剩余时间和候选人。
用户应该能够通过单击按钮进行投票。此后,他们将无法再为同一次选举投票。当然,所有数据都应存储在链中。
 
2.简单拍卖dApp
让用户注册要拍卖的图像,允许他们设置最低出价,底价(成功拍卖应达到的最低价格)以及拍卖的开始和结束。用户应该能够使用自己钱包中的加密货币进行出价。拍卖结束时,出价最高者获胜。您的dApp应该始终确保人们只能用他们实际拥有的硬币出价,并将您的dApp连接到MetaMask,以便用户可以方便地参加拍卖。
您的前端应该使用户能够方便地找到拍卖,对某些拍卖出价,并且可能包含一个图库来查看购买。
当然,所有数据都应存储在链中。如果需要一种存储图像的方法,可使用IPFS。
 
3.调查dApp
任何人都可以创建调查,添加可供选择的选项以及定义用户只能给出一个还是多个答案。对于每次进行的调查,dApp都应奖励用户一些加密货币,以支付他们的时间。
当然,调查的创建者应该能够在创建时设置此金额。您的前端应显示当前正在进行的所有调查,并允许用户参与详细视图。例如,创建者可以对其开放式和封闭式调查有一个概述。
不要忘记调查应该在某个时候结束。因此,这对于调查的创建者而言可能是一个很好的设置。您的dApp应该在链上存储所有数据。再次,MetaMask可能是一个不错的选择。
 
开发工具
Solidity是以太坊用于创建智能合约的语言,这里介绍Solidity编码环境的重要工具:
  • 首先是VsCode提供了Ethereum Solidity Language for Visual Studio Code插件,该插件将为您提供语法突出显示,摘要,编译等。
  • Hardhat是Solidity开发环境。它带有任务运行程序,可帮助您编译Solidity代码的工具以及本地以太坊测试环境。
  • Waffle是您测试智能合约的工具。您以某种方式想要确保所构建的内容能够真正运行,不是吗?您可以使用JavaScript编写测试,然后断言您的合同完全按照您的意愿执行!
  • ethers.js可以使得以太坊(和其他区块链)和您的合同进行交互。非常适合测试和整体dApp!
  • Remix是一个在线Solidity IDE,可让您无需安装任何东西即可开始使用。 https:// remix.ethereum.org

一个真正的去中心化应用程序不需要任何后端。只要在其周围仅放一个API层,就可以以某种方式再次将系统集中化。始终在可用性,功能和去中心化之间进行权衡!