FISCO BCOS开源社区

其他

如何参与共建FISCO BCOS?

BCOS的新项目→联系社区人员提issues当你在体验/使用过程中遇到问题,需要联系开发者对问题进行确定,或想要反馈优化建议,可以通过该项目的issues界面发起issues。
2023年2月18日
其他

重磅发布 | 《2021 FISCO BCOS产业应用白皮书》

助力行业伙伴加速落地应用。回顾我们一路以来的选择,金链盟始终先行一步,引领行业趋向,取得了非常不错的成绩。现已构建起庞大且活跃的开源联盟链生态圈,
2021年12月10日
其他

感谢有你 | FISCO BCOS 2021年第三季度贡献榜单

<u>BCOS开源社区</u>致力打造开放多元的开源联盟链生态。目前,社区已汇聚了超40000名社区用户,大家聚集于此碰撞观点、交流技术,围绕FISCO
2021年10月20日
其他

对话MVP | 李海滨:从文科生到运维架构师,兴趣是最大的动力

当时我向领导展示了我的自动化组件工具后,时总和徐总是拍板同意我的开源想法。既然我们使用了开源社区的软件,那么我们的工具也应该开源给社区。我们感恩开源社区的技术共享,也用共享技术来回报开源社区。
2021年10月15日
其他

FISCO BCOS MVP 认定通道开放,寻找社区意见领袖

MVP认定启动以来,社区涌现出众多优质开发者报名参与。他们或是区块链路上的探索者,或是自成一派的技术大牛。他们为社区贡献组件、优化工具,让更多后来人能够更方便快捷地上手FISCO
2021年9月16日
其他

公告 | FISCO BCOS新增9家合作伙伴

<u>BCOS开源社区</u>一同共建区块链开源生态,助力技术更好落地应用,推动区块链产业发展。培训服务合作伙伴将与FISCO
2021年6月30日
其他

FISCO BCOS MVP 2021年度首批认定名单

MVP名单正式出炉。下一批MVP认定将于8月启动,欢迎持续关注。下面,让我们一起来认识这些技术的践行者、社区的布道者吧。后续公众号将推出专栏栏目,分享MVP的成长之路以及与FISCO
2021年6月28日
其他

开源路上的酸甜苦辣

目前区块链领域的开源社区处于什么发展阶段?开源社区的参与者是“用户”(user)为主还是“贡献者”(contributor)为主?项目的star数和contributor数究竟有多重要?
2021年6月15日
其他

感谢有你 | FISCO BCOS 2021年第一季度贡献榜单

<u>BCOS开源社区</u>致力打造开放多元的开源联盟链生态。目前,社区已汇聚了超40000名社区用户,大家聚集于此碰撞观点、交流技术,围绕FISCO
2021年4月21日
其他

成为FISCO BCOS MVP,并肩链上创未来

MVP申请通道即日起开放,社区用户可点击阅读原文提交申请材料,申请提交截止时间为5月16日,首批MVP名单将于6月在社区公布,公众号对话框回复【小助手】,添加了解更多信息。FISCO
2021年3月9日
其他

FISCO BCOS 开源社区贡献者荣誉榜单

<u>BCOS开源社区</u>贡献者,是社区成长的重要源泉,贡献者的每一次贡献,都推动着社区健壮发展。当一个
2021年3月1日
其他

区块链已革新哪些行业?附应用案例下载

<u>BCOS开源社区</u>将给予资源、技术等全方位支持。
2020年9月25日
其他

如何解释“我篡改了区块链”这个问题

区块链数据“全局一致”、“难以篡改”这两个特性已经广为人知,是区块链营造“信任”的基石。为了达到这两个效果,区块链的共识、同步、校验等技术细节足可大书特书,而本文要从“我篡改了区块链数据”讲起。“我篡改了区块链数据”FISCO
2020年7月2日
自由知乎 自由微博
其他

如何参与共建FISCO BCOS?

BCOS的新项目→联系社区人员提issues当你在体验/使用过程中遇到问题,需要联系开发者对问题进行确定,或想要反馈优化建议,可以通过该项目的issues界面发起issues。
2020年6月11日
其他

一文说清“链上”和“链下”

什么是“上链”?什么数据和逻辑应该“上链”?文件能不能上链?链上能不能批量查数据?“链下”又是什么?“链上”、“链下”诸多问题,一文说清。什么是“链上”和“链下”区块“链”的链,包含“数据链”和“节点链”。数据链指用链式结构组织区块数据,构成数据校验和追溯的链条;“节点链”指多个节点通过网络连接在一起,互相共享信息,其中的共识节点则联合执行共识算法,产生并确认区块。交易“上链”的简要过程如下:记账者们收录交易,按链式数据结构打包成“区块”。共识算法驱动大家验证新区块里的交易,确保计算出一致的结果。数据被广播到所有节点,稳妥存储下来,每个节点都会存储一个完整的数据副本。交易一旦“上链”,则意味着得到完整执行,达成了“分布式事务性”。简单地说,就像一段话经过集体核准后在公告板上公示于众,一字不错不少,永久可见且无法涂改。“上链”意味着“共识”和“存储”,两者缺一不可。交易不经过共识,则不能保证一致性和正确性,无法被链上所有参与者接受;共识后的数据不被多方存储,意味着数据有可能丢失或被单方篡改,更谈不上冗余可用。除此之外,如果仅仅是调用接口查询一下,没有改变任何链上数据,也不需要进行共识确认,则不算“上链”。或者,某个业务服务本身和区块链并不直接相关,或其业务流程无需参与共识,所生成的数据也不写入节点存储,那么这个业务服务称为“链下服务”,无论它是否和区块链节点共同部署在一台服务器,甚至和节点进程编译在一起。当这个业务服务调用区块链的接口发送交易,且交易完成“共识”和“存储”后,才称为“上链”;如果这个交易没有按预期被打包处理,那么可以叫“上链失败”。事实上,几乎所有的区块链系统,尤其是和实体经济、现实世界结合的区块链应用,都需要链上链下协同,用“混合架构“来实现,系统本身就包含丰富的技术生态。*注1:交易(transaction)是区块链里的通用术语,泛指发往区块链,会改动链上数据和状态的一段指令和数据*注2:本节描述的是简要的模型,在多层链、分片模型里,流程会更加复杂,事务划分更细,但“共识”和“存储”才叫上链的基本原则不变交易之轻和“上链”之重目前区块链底层平台逐步趋于成熟,性能和成本已经不是什么大问题,只是以下几个开销是因“分布式多方协作”而先天存在的:共识开销:主流共识算法里,PoW(工作量证明,也就是挖矿)消耗电力;PoS(权益证明)要抵押资产获得记账权;PBFT(联盟链常用的拜占庭容错算法)记账者要完成多次往返投票,流程步骤繁杂。计算开销:除了加解密、协议解析等计算之外,在支持智能合约的区块链上,为了验证合约的执行结果,所有节点都会无差别地执行合约代码,牵一发而动全身。网络开销:与节点数呈指数级比例,节点越多,网络传播次数越多,带宽和流量开销越大,如果数据包过大,就更雪上加霜。存储开销:和节点数成正比,所有的链上数据,都会写入所有节点的硬盘,在一个有100个节点的链上,就变成了100份副本,如果有1000个节点,那就是1000份。也许有人会说:“这就是‘信任’的成本,值得的!”我同意。只是理想无法脱离现实,毕竟硬件资源总是有限的。想象一下,如果每个交易都是一个复杂科学计算任务,那么每个节点CPU和内存会跑满;如果每个交易都包含一个大大的图片或视频,那么全网的带宽,以及各节点存储很快被塞爆;如果大家都敞开来滥用“链上”资源,“公地悲剧”就不可避免。调用API发个交易是很容易的,而链上的开销就像房间里的大象,难以视而不见。作为开发者,需要正视“交易之轻和链上之重”,积极“上链”的同时减少不必要的开销,找到平衡之道。*注1:常规联盟链节点参考配置:8核/16G内存/10m外网带宽/4T硬盘,不考虑“矿机”和其他特种配置。土豪随意,俗话说“钱能解决的问题都不是问题,问题是...”*注2:本节暂未讨论“局部/分片共识”,也不探讨“平行扩容”的情况,默认假定全网参与共识和存储让“链上”归链上,“链下”归链下开销只是成本问题,而本质上,应该让区块链干自己最该干的事情。链上聚焦多方协作,尽快达成共识,营造或传递信任,将好钢用到刀刃上;那些非全局性的、无需多方共识的、数据量大的、计算繁杂的...通通放到链下实现,一个好汉三个帮。如何进行切割?在业务层面,识别多方协作事务和数据共享中“最大公约数”,抓住要点痛点,四两拨千斤;在技术上,合理设计多层架构,扬长避短、因地制宜地运用多种技术,避免拿着锤子看什么都是钉子、一招打天下的思维。为避免过于抽象,下面给出几个例子。*注:每个例子其实都有大量的细节,考虑篇幅,这里做概要介绍,聚焦链上链下的区别和有机结合
2020年5月8日
其他

智能合约编写之Solidity的编程攻略

虽然联盟链的参与者是实名认证且可事后追责;但一旦有恶意攻击者对水果店发起攻击,调用setFruitStock函数就能任意修改水果库存,甚至将所有水果库存清零,这将对水果店正常经营管理产生严重后果。
2020年3月26日
其他

智能合约编写之 Solidity的设计模式

这样,_count字段就精确的反应出AddService被多少合约调用过。在addByOne函数的末尾,AddService会调用外部合约的回调函数notify。AddService的代码如下:
2020年3月19日
其他

智能合约编写之Solidity的高级特性

与函数一样,对于状态变量,也需要注意可见性修饰符。状态变量的修饰符默认是internal,不能设置为external。此外,当状态变量被修饰为public,编译器会生成一个与该状态变量同名的函数。
2020年3月12日
其他

智能合约编写之Solidity的基础特性

示例合约代码的构造函数中,包含msg.sender。它属于全局变量。在智能合约中,全局变量或全局方法可用于获取和当前区块、交易相关的一些基本信息,如块高、块时间、合约调用者等。
2020年3月6日
其他

智能合约初探:概念与演变

用户可以通过脚本代码来定制一些内容,例如如何解锁一笔资金。这些脚本代码会随着交易一起保存,从而享有不可篡改的特质,并且是确定性的。所以从某种角度来说,这些脚本也可看作智能合约。可是它们并不好用。
2020年2月27日
其他

FISCO BCOS即拆即用的“Python区块链盒子”

镜像分享给周围的同学体验,“即拆即用”的特性反响很好👌,大家不会因为环境配置难而退怯,能像Minecraft里的Steve一样,放下“工作台”就可以制造出一堆有用的工具出来。什么是“Python
2020年2月21日
其他

揭秘FISCO BCOS开源项目开发协作

当feature-xxx分支开发好后,测试介入,进行“特性测试”。测试期间修的bug同样以PR的方式提交到此feature分支。特性测试的目的,是为了保证此特性的功能正确。
2020年2月6日
其他

Python SDK的前世今生

SDK接口,用户可以获取区块链的基本信息(如区块高度、区块、交易、交易回执等),还可以部署和调用合约。但该版本的SDK不支持Channel协议,因此无法保证SDK与节点间通信安全;且Python
2019年12月26日
其他

新人必读:区块链实用型技能树

随着新一波的区块链热潮,许多同学怀着巨大的热情进入了这个领域,同时也会遇到不少疑惑,区块链开发需要哪些知识?怎么学习?从哪里学习?遇到问题怎么办?本文将试图给区块链领域新人一个快速实用的指引。一、基本IT技能区块链堪称“黑科技”,本身具有大量的技术元素,有志于从技术角度切入区块链的人,应该具备或掌握基本的IT技能,达到至少是常规级别“程序员”或“系统管理员”的技能水平。首先需要熟练的Linux操作系统知识。大多数区块链系统是可以跑在Linux上的,包括CentOS和Ubuntu等,你至少要会一些基本的Linux操作指令,比如ls查看目录、ps或top查看进程、find查找文件、netstat查看网络、ulimit检查系统参数限制、df/du查看磁盘空间、用apt/yum安装软件等等,如果这些基本命令都不掌握,在Linux上操作肯定是举步维艰的。这方面的书和资料都很多,相信一星期就能上手。另外,善于Linux的man指令,可以获得每个命令的详细帮助。如果学会写shell脚本,那更如虎添翼,可以把大量的繁琐操作给自动化了。要有清晰的网络概念。区块链本来是分布式系统,节点之间一定是通过网络相连的,只是跑起来的话,不需要多高深的网络知识,只需要了解什么是TCP/IP;公网、内网、本地地址的区别;端口如何配置;节点和节点、SDK和节点之间的互联是否会被防火墙和网络策略挡住;采用ifconfig、telnet、ping、netstat等命令检查网络信息和进行探测、定位网络问题。一般来说,Linux书籍也都会介绍这部分内容。区块链周边的支持,如浏览器、中间件、业务应用,会依赖一些第三方基础软件,如MySQL/MariaDB数据库、Nginx服务、Tomcat服务等,至少懂得怎么去安装指定版本的软件,掌握修改这些软件的配置文件并使之生效的基本操作,了解各款软件的密码、权限配置和网络安全策略,以保护自身安全。如果是基于云、docker或者k8s等容器环境构建,需要了解使用的服务商或容器的功能、性能、配置方式,包括对资源的分配:CPU、内存、带宽、存储等,以及安全和权限的配置、网络策略配置、运维方式,达到轻松分发构建的同时,还能保持其稳定性和可用性。各种云服务商和容器解决方案都有周全的文档和客服服务渠道,可以帮助用户顺畅地使用。到编程语言阶段,可以根据自己的学习路径,选择不同的语言。如果是使用Java语言,那就应该熟练掌握Eclipse、IntelliJ
2019年12月12日
其他

亲朋好友都能看懂的区块链

据新华社10月25日晚消息,中共中央政治局10月24日下午就区块链技术发展现状和趋势进行第十八次集体学习。中共中央总书记习近平在主持学习时强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用。随后“什么是区块链”、“区块链有什么用”、“怎么掌握区块链”这几个问题响不绝耳。这里尽量用通俗易懂的语句回答这些问题,期望即使是从没接触过区块链的人也能搞懂这项已经成为国家级现象的神奇技术。
2019年10月29日
其他

一夜刷屏的区块链已革新哪些行业?附应用案例下载

<u>BCOS开源社区</u>将给予资源、技术等全方位支持。关于我们:FISCO
2019年10月26日
其他

FISCO BCOS 控制台详解,飞一般的区块链体验

Java版控制台使用文档:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/console.html
2019年10月10日
其他

公告 | FISCO BCOS v2.1.0发布

《兼容性描述》文档连接:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/change_log/2_1_0.html
2019年9月26日
其他

如何优雅地编写智能合约

写在开头众所周知,智能合约的出现,使得区块链不仅能够处理简单的转账功能,还能实现复杂的业务逻辑处理,其核心在于账户模型。目前在众多区块链平台中,大多数集成了以太坊虚拟机,并使用Solidity作为智能合约的开发语言。Solidity语言不仅支持基础/复杂数据类型操作、逻辑操作,同时提供高级语言的相关特性,比如继承、重载等。除此之外,Solidity语言还内置很多常用方法,比如成套的加密算法接口,使得数据加解密非常简单;提供事件Event,便于跟踪交易的执行状态,为业务的逻辑处理、监控和运维提供便利。然而,我们在编写智能合约代码的时候,还是会碰到各种问题,这些问题包括:代码bug、可扩展性、可维护性、业务互操作的友好性等。同时,Solidity语言还不完善、需要执行在EVM上、语言本身及执行环境也会给我们带来一些坑。基于此,我们结合之前的项目和经验进行梳理,希望将之前碰到的问题总结下来,为后续的开发提供借鉴依据。⊙
2019年9月24日
其他

WeBASE节点前置组件功能解析

WeBASE-Front为开发者提供区块链交互最小功能的子集,安装轻量便捷,无需安装任何第三方组件。在搭完节点之后搭建WeBASE-Front,可以在浏览器打开界面,快速开启区块链体验之旅。
2019年8月28日
其他

麻雀虽小五脏俱全 | 从Python-SDK谈谈FISCO BCOS多语言SDK

endian);Length实际上包含了从第一个字段到最后一个字段(data)的整个数据包的长度;包头(Length+Type+Seq+Result)为定长,为(4+2+32+4)
2019年8月21日
其他

WeBASE数据导出:助力区块链大数据场景快速落地

随着区块链技术的快速发展,各类应用如雨后春笋般涌现,链上数据呈指数级增长,基于区块链的大数据场景成为兵家必争之地,数据分析也成为刚需。然而由于链上数据的存储特点,只能通过接口方式从链上直接获取,这种方式需要针对智能合约接口编写大量的代码,成本很高;同时从链上读取数据,除过网络开销,还需要进行解码操作,甚至遍历MPT树等,读取性能差;更重要的是,不能直接在链上进行全局数据处理,从而无法满足大数据场景的需求,比如复杂查询、大数据挖掘和分析等。针对用户的需求,我们致力于提供一种自动化、智能化的数据导出解决方案,并通过不断迭代完善,满足用户基于数据导出的各种诉求,助力区块链大数据场景快速落地。本文将从用户需求出发,逐层揭开WeBASE数据导出组件功能、特性和架构演进的神秘面纱。WeBASE是在区块链应用和FISCO
2019年8月2日
其他

FISCO BCOS零基础入门,五步轻松构建应用

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/sdk_application.html
2019年7月10日
其他

FISCO BCOS网络端口讲解

作者语区块链网络由多个互相连接的节点构成,每个节点又与客户端浏览器监控工具等相连;理清各种网络端口的存在,达成网络畅通的同时又保证安全是建立区块链网络的基础。同时,在搭链的过程中有一些热点问题,比如为什么节点开了这么多端口?或者为什么网络不通?节点无法连接?没有共识出块?正所谓"通则不痛",网络畅通才能链接一切。本期文章讲的就是网络端口互通这点事,作者从FISCO
2019年5月20日