首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏区块链与Web3.0

    Solidity开发智能合约

    0 Solidity和智能合约Solidity开发可运行的智能合约步骤:源代码通过编译成字节码(Bytecode),同时会产生二进制接口规范(ABI)通过交易将字节码部署到以太坊网络,部署成功会产生一个智能合约账户通过 web3.js+ABI去调用智能合约中的函数来实现数据的读取和修改下面开始简单例子入手Solidity。 - 以太坊区块链的Delphi接口,允许开发适用于Windows,macOS,iOS和Android的dApp开发Fortmatic - 一种易于使用的SDK,无需扩展或下载即可构建web3 dAppPortis 使用中继器将交易成本分担给中继器3 开发环境部署3.1 npmNode Package Manager,一个软件包管理系统,专管理用 js 编写的软件包。 pragma solidity ^0.4.22//@title 委托投票contract Ballot{ //这里声明了一个新的复合类型用于稍后的变量 //它用来表示一个选民

    62710编辑于 2024-07-28
  • 来自专栏Pseudoyu

    Solidity 智能合约开发 - 基础

    开发/调试工具 与常规编程语言不同,Solidity 智能合约的开发往往无法直接通过一个 IDE 或本地环境进行方便的调试,而是需要与一个链上节点进行交互。 Truffle 是一个非常流行的 Javascript 的 Solidity 合约开发框架,提供了完整的开发、测试、调试工具链,可以与本地或远程网络进行交互。 Brownie。 Brownie 是一个基于 Python 的 Solidity 合约开发框架,以简洁的 Python 语法为调试和测试提供了便捷的工具链。 Hardhat。 除了开发框架外,更好地进行 Solidity 还需要熟悉一些工具: Remix IDE。 核心语法 经过上文,我们对 Solidity开发、调试与部署有了一定了解。接下来我们就具体学习一下 Solidity 的核心语法。

    1.1K20编辑于 2023-04-11
  • 来自专栏汇智网教程

    以太坊开发语言solidity简介

    以太坊的应用被称为去中心化应用(DApp),DApp的开发主要包括两大部分: 智能合约的开发 用户界面的开发 在本文中,我们将介绍智能合约的开发语言solidity。 如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战入门教程 以太坊去中心化电商应用开发实战 Solidity是一种语法类似JavaScript的高级语言 = x; } function get() constant returns (uint retVal) { return storedData; } } 在Solidity 免费电子书 如果你希望深入了解solidity的语言特性,可以下载我们制作的免费pdf电子书:Solidity官方文档中文版。

    1.6K90发布于 2018-05-17
  • 来自专栏Java开发者杂谈

    solidity开发3-类型1

    solidity任何类型都没有值为undefined或者null的情况。但是任何类型的数据在没有赋值之前,都会有一个该数据类型的对应的default value。 Fixed Point Numbers 固定小数位数的数据在solidity中并不完全支持,这种类型的数字可以被申明,但是不能被赋值或者计算得到。

    54610编辑于 2022-05-06
  • 来自专栏Java开发者杂谈

    solidity开发2-合约结构

    合约 在solidity中的合约可以类比看做java等面向对象语言中的类。合约可以包含状态变量、函数、函数修饰符、事件、错误、结构体、枚举类型等等。 state variables // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.4.0 <0.9.0; contract SimpleStorage functions // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.1 <0.9.0; contract SimpleAuction Function Modifiers // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.4.22 <0.9.0; contract Purchase Errors // SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.4; /// Not enough funds for transfer

    34540编辑于 2022-05-06
  • 来自专栏深入浅出区块链技术

    跟我学 Solidity开发环境

    译文出自:登链翻译计划[1] 译者:翻译小组[2] 开始在以太坊上编写智能合约 Solidity[3]是用于开发以太坊智能合约的最受欢迎的语言之一,因此,作为一个想要成为区块链开发人员的人,我决定学习如何使用 Solidity 开发智能合约。 设置开发环境 我们将使用的 IDE 是Remix[4],在浏览器输入Remix URL[5]。完成后,你应该会看到一个类似以下的界面: ? Remix 界面 在左侧,我选择了两个主要组件。 参考Solidity 源文件结构[8] 具有重大更改的发行版的格式通常形式为0.x.0或x.0.0。 /docs/solidity/layout-of-source-files.html [8] Solidity 源文件结构: https://learnblockchain.cn/docs/solidity

    1.9K41发布于 2020-12-15
  • 来自专栏友弟技术工作室

    solidity语言介绍以及开发环境准备

    uint){ balance += amount; return (msg.sender, balance); } } 工欲善其事必先利其器,下面介绍开发的 Visual Studio 的 Solidity 插件,包含 Solidity 编译器。 Solidity 工具列表 Dapp Solidity 语言的构建工具、包管理器以及部署助手。 Solidity REPL 一个命令行控制台,可以让你立刻尝试 Solidity 语言。 第三方 Solidity 解析器和语法 solidity-parser JavaScript 的 Solidity 解析器 Solidity Grammar for ANTLR 4 ANTLR 4 解析器生成器的 Solidity 语法 我个人主要atom配合 Remix开发的,下面介绍一下Remix的使用 ##功能 这里我们使用在线编译器,打开网址 https://remix.ethereum.org/ [2018

    2.3K50发布于 2018-05-27
  • 来自专栏极客编程

    solidity语言开发代币智能合约

    智能合约开发是以太坊编程的核心之一,而代币是区块链应用的关键环节,下面我们来用solidity语言开发一个代币合约的实例,希望对大家有帮助。 以太坊的应用被称为去中心化应用(DApp),DApp的开发主要包括两大部分: 智能合约的开发 用户界面的开发 在本文中,我们将介绍智能合约的开发语言solidity。 = x; } function get() constant returns (uint retVal) { return storedData; } } 在Solidity Solidity的官方文档中文版 :https://pan.baidu.com/s/18yp9XjEqAHpiFm2ZSCygHw 5. 以太坊DApp开发私链搭建-windows  :https://pan.baidu.com/s/10Y6F1cqUltZNN99aJv9kAA

    1K21发布于 2018-09-04
  • 来自专栏友弟技术工作室

    solidity语言介绍以及开发环境准备

    address, uint){ balance += amount; return (msg.sender, balance); } } 工欲善其事必先利其器,下面介绍开发Solidity 工具列表 Dapp Solidity 语言的构建工具、包管理器以及部署助手。 Solidity REPL 一个命令行控制台,可以让你立刻尝试 Solidity 语言。 solgraph 可视化的 Solidity 控制流,并能标明潜在的安全漏洞。 第三方 Solidity 解析器和语法 solidity-parser JavaScript 的 Solidity 解析器 Solidity Grammar for ANTLR 4 ANTLR 4 解析器生成器的 Solidity 语法 我个人主要atom配合 Remix开发的,下面介绍一下Remix的使用 功能 这里我们使用在线编译器,打开网址 https://remix.ethereum.org

    1.5K30发布于 2018-06-13
  • 来自专栏华仔的技术笔记

    Solidity开发的智能合约安全建议

    开发一个依赖随机数生成器的应用时,正确的顺序应当是(1)玩家提交行动计划,(2)生成随机数,(3)玩家支付。 // bad pragma solidity ^0.4.4; // good pragma solidity 0.4.4; (译者注:这当然也会付出兼容性的代价) 小心分母为零 (Solidity 当收到错误报告时,核心开发人员应该评估bug的严重性 在这个阶段的工作应该在私有仓库进行,并且在Github上的issue板块提出问题 如果这个bug需要被修复,开发人员应该在私有仓库编写测试用例来复现这个 solidity-coverage - Solidity代码覆盖率测试 Solgraph - 生成一个DOT图,显示了Solidity合约的功能控制流程,并highlight了潜在的安全漏洞。 Solium - 另一种Solidity linting。

    1.6K50发布于 2021-11-24
  • 来自专栏区块链与Web3.0

    一文看完Solidity开发核心

    Solidity受C语言,Python和js影响,但为编译成为以太坊虚拟机字节码在EVM上执行,很多特性和限制都和EVM相关。Solidity 是静态类型语言,支持继承、库、自定义复杂类型和其他特性。 目前Solidity 编程的最好方式是用 Remix。Remix是一个基于 Web 浏览器的 IDE,它可以让你编写Solidity智能合约,然后部署并运行该智能合约。 编译版本在Solidity文件中第一行:pragma solidity ^0.4.22;pragma,编译指示的意思,不是program,是为说明这个Solidity文件可以使用哪些版本的编译器编译。 Solidity编辑器。 Remix非常强大,可直接在浏览器中使用,不用开发者自己搭建开发环境。

    59800编辑于 2024-07-26
  • 来自专栏Pseudoyu

    Solidity 智能合约开发 - Hardhat 框架使用

    前言 经过了前几篇对智能合约基础、Web3.py、ethers.js 的学习,我们已经掌握了通过程序与区块链网络直接交互的基础知识,不熟悉的同学可以回顾一下: Solidity 智能合约开发 - 基础 Solidity 智能合约开发 - 玩转 Web3.py Solidity 智能合约开发 - 玩转 ethers.js 但是在真正的复杂业务场景中,我们往往会使用一些进一步封装的框架,如 HardHat ,提升开发效率。 优化代码格式化 VS Code 配置 我本地是通过 VS Code 进行代码开发的,可以通过安装 Solidity + Hardhat 与 Prettier 两个插件来进行代码格式化,可以使用打开 VS 安装 solidity-coverage 插件 我们通过 yarn add --dev solidity-coverage 命令来安装插件: 启用 solidity-coverage 支持 我们仅需在

    2.2K20编辑于 2023-04-11
  • 来自专栏MMMKA

    关于solidity智能合约dapp程序开发流程

    简易版 NFT 合约代码pragma solidity ^0.8.4;import '@openzeppelin/contracts/token/ERC721/ERC721.sol';import '@

    56490编辑于 2022-11-09
  • 来自专栏Pseudoyu

    Solidity 智能合约开发 - 玩转 ethers.js

    前言 在之前的《Solidity 智能合约开发 - 基础》中,我们学习了 Solidity 的基本语法,并且了解了可以通过 Brownie 与 HardHat 等框架进行调试。 而另一篇《Solidity 智能合约开发 - 玩转 Web3.py》中我们也通过 Web3.py 直接与我们本地的 Ganache 节点进行交互了。 原本因为之前比较熟悉 Python 的使用,所以想使用 Brownie 框架进行后续开发。 获取测试 Token 创建账户后,我们需要一些测试 Token 来进行后续开发调试,我们可以通过以下网址获取: https://faucets.chain.link https://rinkebyfaucet.com 参考资料 Solidity 智能合约开发 - 基础 Solidity 智能合约开发 - 玩转 Web3.py Solidity, Blockchain, and Smart Contract - Javascript

    1.4K20编辑于 2023-04-11
  • 来自专栏Netkiller

    Solidity 智能合约开发语言·数据类型

    加 +,减 -,乘 *,除 / 运算演示 pragma solidity ^0.4.20; //Author: netkiller <netkiller@msn.com> //Home: http:// 求余 % pragma solidity ^0.4.20; //Author: netkiller <netkiller@msn.com> //Home: http://www.netkiller.cn 幂运算 pragma solidity ^0.4.20; //Author: netkiller <netkiller@msn.com> //Home: http://www.netkiller.cn 位移 pragma solidity ^0.4.20; //Author: netkiller <netkiller@msn.com> //Home: http://www.netkiller.cn 获取字符串长度 在 Solidity 中想获得字符串长度必须转成 bytes 类型然后使用 length 属性获得。

    1.6K100发布于 2018-02-19
  • 来自专栏Java开发者杂谈

    solidity开发1 - 编程环境简要说明

    开发工具 简单起见,直接使用在线的remix ide,对应的网址为: https://remix.ethereum.org/ 进入之后选择solidity: 20.cnblogs.com/blog /922893/202201/922893-20220103174900574-1543754754.png) 选择solidity之后可以在左侧的菜单栏选择编译器的版本,开发语言,以及vm等,我这里的选择如下 : 开发与编译 选中左侧菜单栏的文件图标可以展示文件目录,选择contract目录,然后右键---》new file来新建你的智能合约: 选中对应的合约文件之后,点击compile图标,然后进行编译

    84340编辑于 2022-05-06
  • 来自专栏图像处理与模式识别研究所

    Solidity

    tuple(hull[i][0]),tuple(hull[(i+1)%length][0]),(0,0,255),3)#绘制凸包 hullArea=cv2.contourArea(hull)#计算凸包面积 Solidity =float(cntArea)/hullArea#计算Solidity print(Solidity) cv2.imshow("result2",o1) cv2.waitKey() cv2.destroyAllWindows () 算法:Solidity是轮廓面积与凸包面积之比,作为图像、轮廓及凸包的特征。 Solidity=轮廓面积 / 凸包面积 Solidity=float(cntArea)/hullArea cntArea表示轮廓面积 hullArea表示凸包面积 注意:轮廓就像从黑色背景中找到白色物体

    50910编辑于 2022-05-28
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 0 课:搭建 Solidity 开发环境(三种方式)

    Solidity 合约 ≠ 打开浏览器写点 JS。它更像嵌入式开发,要“部署到虚拟硬件”(即 EVM)中运行。你需要一个能编译、部署、调试、测试的本地环境。 我们将介绍 3 种主流方式,适合不同阶段的开发者:工具链 特点 推荐人群 Remix IDE 免安装、上手快 零基础新手 、轻度实验 Foundry 轻量级 CLI 工具,极快喜欢终端操作、追求效率 VSCode + Hardhat全功能工程化 想构建完整项目结构的开发者方案一:Remix greet = "Hello, Solidity!" 安装 Node.js 和 VSCodeNode.js 推荐 v18+VSCode 安装官方 Solidity 插件2.

    1.3K10编辑于 2025-07-14
  • 来自专栏深入浅出区块链技术

    写给Solidity开发者的Solana入门指南

    译文出自:登链翻译计划[1] 译者:Tiny 熊[2] 如果你熟悉以太坊和 Solidity,你可能有兴趣涉足 Solana 生态系统。Solana 的快速区块链很有前景,也很令人兴奋。 但是,如果你从来没有见过 Solana 程序,它的语法是非常可怕的,而且文档看起来就像一个开发者的重复性笔记。它没有连贯性,你要到后面的章节才会明白某些部分。 这就是为什么我写“ 给 Solidity 开发者的 Solana 开发之路系列”的原因,我会向你温和地、没有痛苦和挫折地介绍 Solana。 这让我想起了我开始开发 iOS 和第一次遇到 Objective C 的日子。别担心,我们将在之后的文章中更详细地研究这个语法。它将会更有意义,我保证。 将代码与数据分开,使程序的升级变得容易。 作为写给 Solidity 开发者的 Solana 入门指南,本文关于 以太坊的编程模型差异就到此为止了。 ---- 本翻译由 Duet Protocol[7] 赞助支持。

    1.7K30编辑于 2022-11-07
  • 来自专栏code人生

    Solidity:事件

    Solidity 中,事件(Event)是合约与区块链外部的接口。事件可以用来记录合约的状态变化,或者触发合约外部的响应。事件在合约中被触发,然后被区块链记录在交易日志中。 以下是 Solidity 事件的一些重要特性: 1.触发事件:事件可以在合约函数中使用 emit 关键字来触发。 indexed 是 Solidity 中的一个关键字,用于指定事件参数是否应该被索引。 下面的示例展示了在 Solidity 事件中使用不同类型参数的情况: // SPDX-License-Identifier: MIT pragma solidity ^0.8.25; contract Author: mengbin[2] blog: mengbin[3] Github: mengbin92[4] cnblogs: 恋水无意[5] 腾讯云开发者社区:孟斯特[6] References

    35010编辑于 2024-05-28
领券