第一个基于FISCOBCOS的前后端项目(发行转账)

   本文旨在介绍一个简单的基于fiscobcos的前后端网站应用。Springboot+js前后端不分离。

所使用到的合约也是一个最基本的。首先您需要知道的是完整项目分为三部分,1是区块链平台webase搭建(此项目使用节点前置webase-front即可),2是智能合约编写(此项目使用的合约是webase自带的Asset合约,便于后者学习),3是前后端代码编写以及连接区块链平台(此项目后端为spring boot,前端仅仅使用了css+html+js)。OK,介绍完毕,那我们正式开始吧!

 

目录

一.才艺展示

一.区块链平台搭建

二,智能合约编写

三,前后端

功能演示:

一.才艺展示

先展示图片,在文末展示具体功能

一.区块链平台搭建

1.搭建单机4节点。戳我查看    (console可以不用搭建,但是java肯定要下载)

2.搭建webase-front节点前置

  • 下载安装包(建议在fisco文件下面)
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-front.zip

  • 解压
unzip webase-front.zip

cd webase-front

  • 拷贝sdk证书文件
 cp -r ../nodes/127.0.0.1/sdk/* ./conf/

  • 启动节点

进入~/fisco/nodes/127.0.0.1目录上

img

  • 配置java环境变量
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/

启动

cd &&cd fisco
​​​​​​​cd webase-front
​
bash start.sh

img

  • 输入ip a 查询到你的虚拟机IP

  • ​​​​​​​在浏览器中输入
http://虚拟机IP:5002/WeBASE-Front

 至此,区块链平台已经搭建。

二,智能合约编写

好的,到了我们第二部分了,智能合约可以理解为是我们连接区块链平台的介质,本项目作为最适合新手学习的项目,所以采用的合约是webase-front自带的合约Asset,在我的项目内进行了简单的修改。

我修改后的:

pragma solidity ^0.4.0;

contract Asset {
    address public issuer;
    mapping (address => uint) public balances;

    event Sent(address from, address to, uint amount);

    constructor() {
        issuer = msg.sender;
    }

    function issue(address receiver, uint amount) public {
      require(msg.sender == issuer, "Only issuer can issue tokens");
        balances[receiver] += amount;
    }

    function send(address receiver, uint amount) public {
      require(balances[msg.sender] >= amount, "Insufficient balance");
        balances[msg.sender] -= amount;
        balances[receiver] += amount;
        emit Sent(msg.sender, receiver, amount);
    }
    
    function getBalance(address account) public  view returns (uint) {
        return balances[account];
    }
    
}

然后我们编译部署该合约

 部署成功后会得到合约地址以及abi的信息,这两个信息可以在后端里进行调用。

合约一共有三个功能(发行,转账,查看余额)

三,前后端

首先展示一下项目目录,可以看到核心代码文件。后端调用智能合约,然后前端进行可视化操作。

后端主要配置文件的地方

功能演示:

代币发行:

登录管理员账户,发行代币。

如果不是管理员账户则发行失败:

这里的权限控制是合约进行的。只需要一行代码,神奇吧。

查询余额:

用户之间转账:

OK,至此功能演示完毕!

想要源码可以私信~     觉得有意思可以举起你发财的小手帮我点个赞~~

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 11:30:03       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 11:30:03       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 11:30:03       90 阅读
  4. Python语言-面向对象

    2024-07-10 11:30:03       98 阅读

热门阅读

  1. 定制化正则化:在Mojo模型中动态应用自定义方法

    2024-07-10 11:30:03       28 阅读
  2. 稀疏之美:在Mojo模型中实现特征的稀疏表示

    2024-07-10 11:30:03       34 阅读
  3. AI开发者的编程语言Mojo:入门指南

    2024-07-10 11:30:03       31 阅读
  4. 跨语言的智能:在多种编程环境中部署Mojo模型

    2024-07-10 11:30:03       30 阅读
  5. Mojo编程语言详细介绍

    2024-07-10 11:30:03       29 阅读
  6. 掌握MOJO命令行:参数解析的艺术

    2024-07-10 11:30:03       30 阅读
  7. 运营商二三要素是什么?有什么意义

    2024-07-10 11:30:03       25 阅读
  8. 3102. 最小化曼哈顿距离

    2024-07-10 11:30:03       24 阅读
  9. PHP String manipulation: A comprehensive guide

    2024-07-10 11:30:03       29 阅读
  10. Qt5 Ubuntu18 QStackedWidget

    2024-07-10 11:30:03       27 阅读
  11. WebKit源代码探秘:深入理解其组织结构与组件

    2024-07-10 11:30:03       27 阅读
  12. 【回溯+双指针算法题记录】回文字符串汇总

    2024-07-10 11:30:03       27 阅读
  13. 2288. 价格减免

    2024-07-10 11:30:03       26 阅读
  14. Quartz 介绍

    2024-07-10 11:30:03       28 阅读