区块链智能合约开发学习

这篇具有很好参考价值的文章主要介绍了区块链智能合约开发学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近正在肝区块链知识学习,入手学习智能合约的开发,由于网上资料实在是太少了,好不容易东拼西凑完成了智能合约的开发、编译、部署、web3js调用(网页页面)和web3j调用(java调用),赶紧趁热把重点提炼出来。

先上图,是我最近学习知识点的一个概括总结,此外还包含了关键命令和操作步骤。

区块链智能合约开发学习

我智能合约开发的技术选型是Solidity+web3j+Java,工具选型是VSCode+solcjs+web3js+web3j+Ganache

开发智能合约的关键步骤:

    • 开发语言

      • 90.4%用Solidity,7.2%用Vyper其他小众语言可忽略,因此开发智能合约主流选用Solidity,这也是我学习语言
    • 合约开发环境必备

      • nodejs(其他所有前置)
      • vscode
      • vscode的Solidity插件
      • ganache的appx或ganache-cli
        • 提供测试网络,部署合约必要
      • vscode的solcjs插件,用于命令行将.sol编译出.abi和.bin,web3j前一步必要动作,输出后的俩文件使用web3j生成.java
      • web3j工具(.bat执行一次即可,用于生成java可以调用的合约代码)
        • web3j此外还可以创建钱包,执行web3j create 命令按帮助指引
      • truffle(npm安装,用于编译运行智能合约)
      • metamask的chrome浏览器插件,用于浏览器钱包功能,当web客户端“写操作”时需调用有钱钱包
    • 客户端准备

      • web客户端(Vue项目)
        • web3.js脚本引用,用于提供web3访问接口
        • abi.js存放合约abi内容,用于提供合约接口
      • java客户端(SpringBoot或其他后台项目)
        • pom依赖引用:org.web3j,junit
        • XX.java合约java版代码
      • 客户单可以执行的操作
        • 合约的部署或加载已有合约,合约调用,读操作,写操作(写操作与读不同,需要关联有钱的钱包)
    • 开发命令

      • 创建合约
        • VSCODE命令行:在工程空目录当前执行truffle init,即可初始化项目应有文件夹目录
        • VSCODE命令行:truffle create contract hello,创建一个hello.sol的合约文件
      • 编译
        • VSCODE命令行:truffle compile
      • 部署
        • VSCODE命令行:truffle migrate
      • 访问合约
        • 命令行方式:VSCODE命令行:truffle consolelet h=await hello.deployed()h.sayHello()h.addRecord("hh")h.getRecord()
        • java后端方式
          • 在vscode控制台.sol所在目录执行:solcjs --bin --abi hello.sol -o ./
          • 在sol所在目录打开cmd,执行(执行前本目录会有.bin和.abi两个文件)web3j solidity generate --javaTypes hello_sol_hello.bin hello_sol_hello.abi -o ./  -p com.test
          • 将sol同目录的java代码拷贝到java工程中即可进行合约调用
          • 初始化代码:配置好合约地址contract address和钱包秘钥(钱包秘钥用ganache中提供的测试账号小钥匙秘钥串即可用)
        • vue前端方式
          • 引用文件web3.js,abi.js(abi.js内容为合约abi内容是一个json文本段)
          • 添加包web3
    • 环境安装命令

      • truffle
        • npm install -g truffle
      • web3j
        • 运行web3j.bat文件后命令行可跑 web3j XXX命令

 文章来源地址https://www.toymoban.com/news/detail-417238.html

到了这里,关于区块链智能合约开发学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 学区块链智能合约?来自培训学校内部的学习计划

    大家好,我是赛联区块链教育张群。每天都有来问的,张老师我钱不够,想自己学,怎么学?有学习大纲吗?好吧!谁让张老师是个信仰者和布道者呢。计划来了,拿去不谢!假如你每天能够投入2个小时的学习时间,我们可以将智能合约开发的学习设定为渐进形式。整个学习

    2024年02月22日
    浏览(12)
  • 【区块链技术开发】OpenZeppelin智能合约库:提高智能合约的安全性和可靠性,加速去中心化应用DApp的开发与部署。

    专栏:【区块链技术开发】 前期文章: 【区块链技术开发】使用Infura连接以太坊节点和OpenZeppelin库来构建安全、可靠的智能合约 【区块链技术开发】 Solidity使用Truffle Box工具实现预构建模板、自动化部署、创建智能合约示例代码 【区块链技术开发】 Solidity使用truffle工具创建

    2023年04月24日
    浏览(41)
  • 区块链web3智能合约Solidity学习资源整理

    Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。 Solidity中文官方文档: https://solidity-cn.readthedocs.io/zh/develop/ https://learnblockchain.cn/docs/solidity/index.html 在线rem

    2024年03月19日
    浏览(16)
  • 11. Fabric2.2 区块链农产品溯源系统 - 智能合约开发-1

    智能合约与业务逻辑关联度高,承载大量业务逻辑,本小节教大家搭建智能合约开发环境GoLand,并编写合约打包脚本。 作者在windows电脑安装ubuntu18.04版本虚拟机(vmware),Linux环境也有Goland版本,可用性丝毫不差,所有的区块链开发在Linux环境进行。 官方可以下载,要么评估

    2023年04月20日
    浏览(11)
  • 手把手教你区块链java开发智能合约nft-第一篇

    手把手教你区块链java开发智能合约nft-第一篇

    刚接触区块链开发,使用java开发,真的是太难了,自己一步步摸索,从新手小白一路碰壁,动不动就报错,去网上搜索对应错误,还真什么都搜索不到,摸索了三四个月,今天终于有了一些进展,今天开始分享出来,希望能帮助到需要的朋友 我作为一个java后端的程序员,不

    2024年01月23日
    浏览(14)
  • 《区块链原理与技术》学习笔记(四) ——以太坊的基本架构、账户模型和智能合约

    《区块链原理与技术》学习笔记(四) ——以太坊的基本架构、账户模型和智能合约

    《区块链原理与技术》学习笔记 第四部分 三、以太坊 1. 以太坊简介 1.1 以太坊发展的阶段 1.2 以太坊与比特币对比 2. 以太坊的基本架构及原理 2.1 基本概念 2.2 状态转移 2.3 基本架构 3. 账户模型与转账 3.1 账户模型 4. 智能合约 4.1 合约账户与数据存储 4.2 驱动智能合约 以太坊

    2024年02月13日
    浏览(24)
  • 手把手教你区块链java开发智能合约nft-第五篇(铸造第一个NFT)

    初学区块链,那真叫一个痛苦并无助。如果没有人带你的话 今天写的这篇是在前面文章基础上写的,初学区块链的朋友建议先看我前面写的文章 手把手教你区块链java开发智能合约nft-第一篇 手把手教你区块链java开发智能合约nft-第二篇(部署第一个NFT智能合约) 手把手教你

    2023年04月08日
    浏览(18)
  • 北大肖臻老师《区块链技术与应用》系列课程学习笔记[23]以太坊-智能合约-3

    北大肖臻老师《区块链技术与应用》系列课程学习笔记[23]以太坊-智能合约-3

    智能合约-1 智能合约-2 1.假设某个全节点要打包一些交易到一个区块里,这些交易里有一些是对智能合约的调用,那么这个全节点应该先执行完智能合约再挖矿,还是先挖矿获得记账权再执行这些智能合约?         在区块链中,如果有一笔转账交易发布上去,需要所有的全

    2023年04月23日
    浏览(10)
  • 北大肖臻老师《区块链技术与应用》系列课程学习笔记[22]以太坊-智能合约-2

    北大肖臻老师《区块链技术与应用》系列课程学习笔记[22]以太坊-智能合约-2

    智能合约-1 目录 一、智能合约的创建和运行         1.智能合约的创建         2.汽油费         3.错误处理         4.嵌套调用 二、思考         1.GasLimit和GasUsed         2.以太坊中的GasLimit跟比特币的区别 1.智能合约的创建         智能合约 由一个外

    2024年02月19日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包