FISCO BCOS(十二)——— 区块链关键概念

37 篇文章 233 订阅 ¥39.90 ¥99.00

1、什么是区块链

区块链(blockchain)是在比特币之后提出的一个概念,在中本聪关于比特币的论文中没有直接引入blockchain的概念,而是以chain of block来描述一种数据结构,比特币采用区块链技术,但是区块链并不等同于比特币。

Chain of block是指由多个区块通过哈希(hash)串联成一条链式结构的数据组织方式。区块链则是采用多项技术交叉组合,维护管理这个chain of block数据结构,形成一个不可篡改的分布式账本的综合技术领域。

区块链已经应用于数字货币、金融、司法、供应链、文化娱乐、社会管理、物联网等更多行业,另外,最近大火的元宇宙的关键技术也是区块链。

区块链具有去中心化,透明和可信规则,构建不可伪造、难以篡改和可追溯的特点。说白了就是在解决人与人之间的信任问题。

2、中心化

想想我们在网上购物的流程:

  • 第一步,你下单并把钱打给淘宝;
  • 第二步,淘宝收款后通知卖家发货;
  • 第三步,卖家收到淘宝通知之后发货;
  • 第四步,你在淘宝上选择确认收货或者没确认收货也没退款,到时间自动确认收货;
  • 第五步,淘宝收到通知,把款项打给卖家。流程结束。

在这里淘宝就是你和卖家的一个第三方,假如没有这个第三方,你怕卖家收了钱不发货,或者卖家怕你买了东西不付钱,所以需要一个类似一个类似中介的机构来解决信任问题。像这种第三方就是基于中心化思

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,你可以在SpringBoot中使用Web3j库来调用FISCO BCOS上的智能合约。以下是一些基本步骤: 1. 在pom.xml文件中添加Web3j依赖: ```xml <dependency> <groupId>org.web3j</groupId> <artifactId>core</artifactId> <version>4.8.1</version> </dependency> ``` 2. 在application.properties文件中配置FISCO BCOS节点信息: ``` web3j.client-address=http://localhost:8545 ``` 3. 创建一个智能合约的Java类,该类应该继承自org.web3j.abi.datatypes.Int类型,并在其中定义合约的方法。 ```java public class MyContract extends Contract { public MyContract(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) { super("", contractAddress, web3j, credentials, gasPrice, gasLimit); } public RemoteCall<BigInteger> myMethod() { Function function = new Function( "myMethod", Collections.emptyList(), Collections.singletonList(new TypeReference<Uint256>() {}) ); return executeRemoteCallSingleValueReturn(function, BigInteger.class); } } ``` 4. 在SpringBoot中创建一个Controller类,用于处理请求。在该类中创建一个Web3j对象,然后使用该对象创建一个Credentials对象,该对象应该包含您的FISCO BCOS账户的私钥。接下来,创建一个MyContract对象,然后调用其方法。 ```java @RestController public class MyController { @GetMapping("/myMethod") public BigInteger myMethod() throws Exception { String privateKey = "..."; // FISCO BCOS账户的私钥 Web3j web3j = Web3j.build(new HttpService()); Credentials credentials = Credentials.create(privateKey); MyContract contract = MyContract.load("合约地址", web3j, credentials, new BigInteger("3000000"), new BigInteger("3000000")); return contract.myMethod().send(); } } ``` 这样,您就可以在SpringBoot中调用FISCO BCOS上的智能合约了。当您访问/myMethod时,将会调用MyContract的myMethod方法,并返回其结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林中有神君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值