![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区块链开发
文章平均质量分 76
本郡主是喵
两袖清风,无愧苍生。
展开
-
快速搭建webase-front并且部署合约
在合约IDE页面,选中Trace合约,合约参数输入上面创建的3个用户地址-> 点击部署 -> 后出现如下页面即可。找到合约管理 -> 测试用户: 创建3个测试用户,名称分别是merchant、rider、consumer。在合约管理 -> 合约IDE: 新建WmTrace目录,点击文件上传按钮,将该包下面的合约文件,全部上传。其中-p选项指定起始端口,分别p2p_port,channel_port,jsonrpc_port。curl 一种命令行工具。原创 2024-05-08 12:02:27 · 278 阅读 · 0 评论 -
ERC721解读
NFT(非同质化代币):类似于明朝、宋朝的青花瓷。虽然都是青花瓷。但是都具有唯一的典藏价值。而且价值可能不同。NFT就是具有唯一价值的代币。ERC721: 是以太坊规定实现NFT的一种标准了。实现ERC21标准的智能合约就是NFT代币了。原创 2024-02-22 15:51:00 · 1089 阅读 · 1 评论 -
ERC20 解读
ERC-20 提出了一个同质化代币的标准,换句话说,它们具有一种属性,使得每个代币都与另一个代币(在类型和价值上)完全相同。例如,一个 ERC-20 代币就像以太币一样,意味着一个代币会并永远会与其他代币一样。上面是官方的说法, 代币嘛,比如游戏:我们用金钱充值,经过一定换算,人民币对应的换算游戏的货币。这些游戏货币就是代币。如果智能合约实施了下列方法和事件,它可以被称为 ERC-20 代币合约,一旦部署,将负责跟踪。ERC20是以太坊定义的一个合约接口规范,符合该规范的合约被称为以太坊代币。原创 2024-01-22 22:08:44 · 569 阅读 · 1 评论 -
关于利用webase-front节点控制台一键导出的java项目解析
搭建区块链系统和管理平台分别用的的。关于我们在利用java开发与区块链系统交互:我们在搭建好fisco链之后,在搭一个webase-front服务,我们就能通过front服务提供的api,间接在fisco上面,进行部署、调用合约、获取块高,等与区块链系统交互的行为。webase-front接口说明:2.通过引入他调用相关的方法,与区块链系统交互。原创 2023-10-20 08:33:41 · 920 阅读 · 0 评论 -
fisco Java-sdk 快速入门案例
我们用拉取fisco 的控制台里默认带的HelloWorld合约来演示。PS :注意,生成java文件包名要跟你项目里对应的包名要一致。最好在setting.xml 把maven本地仓库也改一下。将节点的sdk证书拷贝到resources目录下面。1. 使用 IDEA 创建一个Maven应用。将该java 文件移动到你的java项目里。2.引入 fisco java sdk。将该配置文件也移动到conf同级目录。4. 将合约生成对应的java 文件。6. 使用测试文件部署和调用智能合约。原创 2023-10-10 09:09:37 · 438 阅读 · 0 评论 -
UML图绘制 -- 组件图、部署图
随着人们对计算机的认识加深,要求也越来越严格,希望计算机能够做的事情也越来越复杂,结构简单的单机版软件显然是不能满足用户的需求了。为了满足这些日益复杂的需求,软件的结构也变得越来越复杂。为了能够清楚的描述系统架构,让我们来了解一下部署图和组件图。转载 2023-08-16 09:45:48 · 3075 阅读 · 0 评论 -
UML图绘制 -- 用例图
但VS2010的用例模型图中,添加了。转载 2023-08-14 15:33:50 · 332 阅读 · 0 评论 -
UML图绘制 -- 类图
是在依赖的及基础上(成员变量),但是和关联表现的层级不同,关联表示同层级之间,而聚合表示整体和部分层级之间。而Employee类中的businessTrip[出差]() 方法需要Boss的同意,这就是关联。如果说,类图为了表现java中的类,那么类图的关系就代表java中中类、接口之间的关系。如: 人由手、脚、头等身体部位组成,但是手离开人和人离开手都不能做相应的方法。2个类依赖关系且是依赖,并且是依赖中的成员变量,则存在关联关系。如果一个类失去一个类代码无法编译,那么说这个类依赖于这个类。原创 2023-08-14 11:49:41 · 6175 阅读 · 0 评论 -
智能合约 -- 常规漏洞分析 + 实例
在上面的代码片段中我们可以看到,distribute() 函数中会去遍历投资者数 组,但是合约的循环遍历数组是可以被外部的人进行人为扩充,如果有攻 击者要攻击这个合约,那么他可以创建多个账户加入投资者的数组,让 investors 的数据变得很大,大到让循环遍历数组所需的 gas 数量超过区块 gas 数量的上限,此时 distribute() 函数将无法正常操作,这样就会造成该 合约的拒绝服务攻击。第一去取钱,状态变量修改为true,从而将函数锁住,必须等这次函数执行完毕,才能重新对函数进行调用。原创 2023-08-11 21:25:07 · 4018 阅读 · 4 评论 -
食品溯源合约 -- 智能合约实例
PS:这下面这三个都是代表角色,代码几乎一样的,看会这个,其他都会。Trace:食品溯源合约,主要负责对以上几个合约的统筹协作。Roles: 实现对用户地址的角色权限管控。FoodInfoItem: 食品信息管控。Producer: 生产商角色管控。原创 2023-08-07 08:43:15 · 2403 阅读 · 4 评论 -
金融供应链智能合约 -- 智能合约实例
【代码】金融供应链智能合约 -- 智能合约实例。原创 2023-08-05 15:30:19 · 1855 阅读 · 0 评论 -
搭建区块链网络(ubantu)
其中-p选项指定起始端口,分别p2p_port,channel_port,jsonrpc_port。调用 HelloWorld 合约实例地址 set函数 函数参数。# 利用下面指令,找到默认安装位置,配置java环境变量。curl 一种命令行工具,能够进行网络数据传输。1.编写合约(hellow word内置)getBlockNumber 拿到块高。# -r 表示目录下面的文件都能复制。3.调用HellowWorld合约。2.部署Helloworld合约。file 可执行文件爱你。原创 2023-07-25 09:11:58 · 536 阅读 · 0 评论 -
UML 图的画法(各种图的举例)
在活动图中,实心圆表示流程的开始,空心圆表示流程的结束,圆角矩形表示活动,菱形表示分支判断。它可以清晰地展现从一个活动到另一个活动的控制流,描绘出系统或业务流程的逻辑和流程,让开发人员更好地了解整个系统的运作方式。在业务系统中,许多重要的领域对象都有相当复杂的状态变化,比如订单,它们可以有待付款、待审核、待发货、待收货、交易关闭和交易完成等各种状态。如果想要描述组件之间的动态调用关系,可以使用组件序列图,以组件作为参与者,描述组件之间的消息调用关系。也要画,这个时候,状态要用枚举值表示,以指导具体的开发。原创 2023-07-18 18:24:31 · 180 阅读 · 0 评论 -
truffle 进行智能合约测试
在Ganache中选择连接或者新建,我在这里选择新建,新建的时候点击以下按钮将项目中的truffle-config.js文件添加进去。6.继续在此控制台输入 migrate -rest -all,将智能合约部署到区块链上,注意此时一定要在开头加阿拉伯数字。若Ganache连接成功,此时在Ganache的日志中会看到部署信息增多。在vscode中选择连接,输入Ganache中对应的端口进行连接。5.在终端输入truffle migrate进行部署。然后进行端口配置,完成之后点击start进行连接。原创 2023-07-17 21:52:58 · 2535 阅读 · 2 评论 -
智能合约 -- 安全考量
数组和映射操作:对数组和映射进行添加、删除、修改和访问等操作都会消耗 Gas。函数调用:当您调用合约中的函数时,将消耗 Gas。消耗量取决于函数的复杂性、参数的数量和大小,以及函数内部的计算操作。合约创建:当您部署一个新的合约时,将消耗一定数量的 Gas。Gas 的数量取决于合约的字节码大小和构造函数的复杂性。外部调用:与其他合约进行交互,包括消息发送、合约调用和委托调用等操作,都会消耗 Gas。加密操作:加密和解密操作,如哈希函数、签名函数和加密函数,通常会消耗大量的 Gas。,并添加到区块链中。原创 2023-07-15 10:12:33 · 3515 阅读 · 0 评论