tp钱包下载官网|bcos区块链

作者: tp钱包下载官网
2024-03-16 12:11:46

BlockCity区块城市-务实元宇宙的先行者

kCity区块城市-务实元宇宙的先行者Please enable JavaScript to continue.区块城市BC众创BC众投城市区县 地域企业 品牌组织 社群明星 名人大V UP主学校 小区等川渝北区中本聪丽江花园洛溪华科大桃江一中圈内人元创道青岛通安坤物流湖南大学元初宇宙第九城市大湾区深圳众行大湾市北航宠爱哥哥瑜伽雄安新区华中大家具协会游艇小镇王氏宗亲东北农大南通大学吉林大学长沙师范DADAD白市AB城市湖大校友重庆衢州丽水舟山温州台州绍兴宁波金华嘉兴湖州杭州昭通玉溪西双版纳文山曲靖普洱怒江临沧丽江红河迪庆德宏楚雄保山大理昆明伊犁吐鲁番塔城克州克拉玛依喀什和田哈密昌吉博尔塔拉巴州阿勒泰阿克苏乌鲁木齐山南日喀则那曲林芝昌都阿里拉萨天津自贡资阳雅安绵阳眉山凉山甘孜德阳达州巴中阿坝宜宾南充内江泸州乐山广元遂宁攀枝花广安成都上海榆林渭南商洛延安咸阳铜川汉中安康宝鸡西安运城阳泉忻州晋中晋城朔州吕梁临汾长治大同太原泰安日照临沂聊城莱芜东营德州滨州淄博枣庄烟台潍坊威海青岛济宁济南菏泽大连玉树黄南海西海南州海东海北果洛西宁中卫吴忠固原石嘴山银川兴安盟锡林郭勒乌兰察布乌海通辽呼伦贝尔赤峰巴彦淖尔阿拉善盟呼和浩特鄂尔多斯包头铁岭盘锦辽阳葫芦岛阜新丹东朝阳本溪鞍山营口锦州抚顺沈阳鹰潭宜春新余上饶萍乡吉安赣州抚州南昌九江景德镇镇江盐城泰州宿迁淮安扬州徐州无锡苏州南通南京连云港常州延边通化松原四平辽源白山白城吉林长春株洲张家界永州益阳湘西湘潭邵阳娄底怀化郴州岳阳衡阳常德长沙孝感咸宁随州十堰荆州荆门黄石恩施鄂州宜昌襄樊黄冈武汉绥化双鸭山七台河黑河鹤岗伊春齐齐哈尔牡丹江佳木斯鸡西大兴安岭大庆哈尔滨驻马店周口许昌信阳新乡商丘三门峡濮阳平顶山南阳漯河洛阳焦作鹤壁安阳郑州开封张家口邢台唐山衡水邯郸沧州秦皇岛廊坊承德保定石家庄三亚海口黔西南黔南黔东南遵义铜仁六盘水毕节安顺贵阳玉林梧州钦州来宾崇左贺州河池桂林贵港防城港北海百色柳州南宁湛江云浮阳江汕尾清远梅州揭阳江门河源珠海中山肇庆深圳韶关汕头茂名惠州广州佛山东莞潮州张掖武威天水庆阳平凉陇南临夏酒泉金昌嘉峪关甘南定西白银兰州漳州三明龙岩厦门泉州莆田宁德南平福州北京宣城铜陵宿州六安黄山淮南淮北毫州阜阳滁州池州巢湖安庆芜湖马鞍山合肥蚌埠兑换领取城市基金专项募捐基金社会公益基金重大活动基金贡献奖励基金居民纾

FISCO BCOS 区块链 — FISCO BCOS 2.0 v2.9.0 文档

FISCO BCOS 区块链 — FISCO BCOS 2.0 v2.9.0 文档

FISCO BCOS 2.0

latest

平台介绍

FISCO BCOS 区块链

关键特性

架构

核心模块

性能

安全性

可运维性

易用性

社区开发工具

版本信息

快速开始

搭建第一个区块链网络

开发第一个区块链应用

构建和管理区块链网络

关键概念

网络搭建

配置管理

网络维护

开发区块链应用

创建和使用账户

开发和使用智能合约

多种语言SDK

区块链功能接口列表

使用链上信使

开发期问题排查

使用工具

开发部署工具(build_chain.sh)

命令行交互控制台

WeBASE管理平台

区块链浏览器

运维部署工具

数据治理通用组件

多方协作治理组件

区块链应用开发组件

系统设计

整体架构

区块链交易流程

数据结构与编码协议

核心模块设计解析

社区

MVP

贡献者

合作伙伴

深入浅出FISCO BCOS

社区资源和更多开源工具

FISCO BCOS 2.0

»

FISCO BCOS 区块链

Edit on GitHub

FISCO BCOS 区块链¶

标签:FISCO BCOS介绍 关键特性 开发工具

FISCO BCOS是由深圳市金融区块链发展促进会(以下简称“金链盟”)开源工作组牵头研发的金融级、国产安全可控的区块链底层平台。作为最早开源的国产联盟链底层平台之一,FISCO BCOS于2017年面向全球开源。

开源六周年至今,FISCO BCOS开源社区在技术创新、应用产业以及开源生态均取得了非凡成绩。

FISCO BCOS持续攻关核心关键技术,单链性能突破10万TPS。首创DMC算法大幅度提升性能、推出三种架构形态灵活适配业务需求;全链路国产化,采用国密算法与软硬件体系,支持国产OS,适配国产芯片和服务器,支持多语言多终端国密接入。拥有覆盖底层+中间件+应用组件的丰富周边组件。

底层平台可用性已经广泛应用实践检验,支撑政务、金融、医疗、双碳、跨境数据流通等关乎国计民生的重点领域落地超过400个标杆应用,在助力实体经济发展、促进公平与可持续等方面贡献力量。

社区以开源链接多方,截止2023年12月,围绕FISCO BCOS构建的国产开源联盟链生态圈已汇聚了超过5000家机构、超10万名个人成员,以及50家认证合作伙伴、500余名核心贡献者。社区认证了63位FISCO BCOS MVP, 发展了12个专项兴趣小组SIG,此外与上百所知名院校开展人才共育合作,培育区块链产业人才超8万人次,已发展成为最大最活跃的国产开源联盟链生态圈之一。

注解

FISCO BCOS以联盟链的实际需求为出发点,兼顾性能、安全、可运维性、易用性、可扩展性,支持多种SDK,并提供了可视化的中间件工具,大幅缩短建链、开发、部署应用的时间。此外,FISCO BCOS通过信通院可信区块链评测功能、性能两项评测,单链TPS可达两万。

关键特性¶

整体架构

架构模型

一体两翼多引擎

群组架构

支持链内动态扩展多群组

分布式存储

支持海量数据存储

并行计算

支持块内交易并行执行

节点类型

共识节点、观察节点

计算模型

排序-执行-验证

系统性能

峰值TPS

2万+ TPS(PBFT)

交易确认时延

秒级

硬件推荐配置

CPU

2.4GHz * 8核

内存

8GB

存储

4TB

网络带宽

10Mb

账本模型

数据结构

链式结构,区块通过哈希链相连

是否分叉

不分叉

记账类型

账户模型(非UTXO)

共识算法

共识框架

可插拔设计

共识算法

PBFT、Raft、rPBFT

存储引擎

存储设计

支持KV和SQL

引擎类型

支持leveldb、rocksdb、mysql

CRUD接口

提供CRUD接口访问链上数据

网络协议

节点间通信

P2P协议

客户端与节点通信

JsonRPC,Channel协议

消息订阅服务

AMOP协议

智能合约

合约引擎

支持Solidity和预编译合约

引擎特点

图灵完备,沙盒运行

版本控制

基于CNS支持多版本合约

灰度升级

支持多版本合约共存、灰度升级

生命周期管理

支持合约和账户的冻结、解冻

密码算法和协议

国密算法

支持

国密SSL

支持

哈希算法

Keccak256、SM3

对称加密算法

AES、SM4

非对称加密算法

ECDSA、SM2

非对称加密椭圆曲线

secp256k1、sm2p256v1

安全控制

存储安全

支持落盘数据加密存储

通信安全

支持全流程SSL

准入安全

基于PKI身份认证体系

证书管理

支持证书颁发、撤销、更新

权限控制

支持细粒度权限控制

隐私保护

物理隔离

群组间数据隔离

隐私保护协议

支持群签名、环签名、同态加密

场景化隐私保护机制

基于WeDPR支持隐匿支付、匿名投票、匿名竞拍、选择性披露等场景

跨链协议

SPV

提供获取SPV证明的接口

跨链协议

基于WeCross支持同构、异构跨链

开发支持

合约开发工具

WeBASE-IDE,ChainIDE

开发建链工具

提供一键搭链脚本工具

合约部署与测试工具

交互式控制台 基于Java SDK的控制台

SDK语言

Java、nodejs、go、python

快速开发组件

提供Spring-boot-starter

压测工具

SDK内嵌压测工具,支持Caliper

运维支持

运维建链工具

提供企业级联盟链部署工具

可视化数据展现

区块链浏览器

可视化节点管理

基于WeBASE,提供节点管理器

动态管理节点

支持动态新增、剔除、变更节点

动态更改配置

支持动态变更系统配置

数据备份与恢复

提供数据导出与恢复服务组件

监控统计

输出统计日志,提供监控工具

监管审计

基于WeBASE,提供监管审计入口

架构¶

FISCO BCOS 在2.0中,创新性提出“一体两翼多引擎”架构,实现系统吞吐能力的横向扩展,大幅提升性能,在安全性、可运维性、易用性、可扩展性上,均具备行业领先优势。

一体指代群组架构,支持快速组建联盟和建链,让企业建链像建聊天群一样便利。根据业务场景和业务关系,企业可选择不同群组,形成多个不同账本的数据共享和共识,从而快速丰富业务场景、扩大业务规模,且大幅简化链的部署和运维成本。

两翼指的是支持并行计算模型和分布式存储,二者为群组架构带来更好的扩展性。前者改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易,大幅提升性能;后者支持企业(节点)将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。

多引擎是一系列功能特性的总括,比如预编译合约能够突破EVM的性能瓶颈,实现高性能合约;控制台可以让用户快速掌握区块链使用技巧等。

上述功能特性均聚焦解决技术和体验的痛点,为开发、运维、治理和监管提供更多的工具支持,让系统处理更快、容量更高,使应用运行环境更安全、更稳定。

核心模块¶

FISCO BCOS采用高通量可扩展的多群组架构,可以动态管理多链、多群组,满足多业务场景的扩展需求和隔离需求,核心模块包括:

共识机制:可插拔的共识机制,支持PBFT、Raft和rPBFT共识算法,交易确认时延低、吞吐量高,并具有最终一致性。其中PBFT和rPBFT可解决拜占庭问题,安全性更高。

存储:世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降的问题;引入可插拔的存储引擎,支持LevelDB、RocksDB、MySQL等多种后端存储,支持数据简便快速扩容的同时,将计算与数据隔离,降低了节点故障对节点数据的影响。

网络:支持网络压缩功能,并基于负载均衡的思想实现了良好的分布式网络分发机制,最大化降低带宽开销。

性能¶

为提升系统性能,FISCO BCOS从提升交易执行效率和并发两个方面优化了交易执行,使得交易处理性能达到万级以上。

基于C++的Precompiled合约:区块链底层内置C++语言编写的Precompiled合约,执行效率更高。

交易并行执行:基于DAG算法根据交易间互斥关系构建区块内交易执行流,最大化并行执行区块内的交易。

交易生命周期的异步并行处理:共识、同步、落盘等各个环节的异步化以及并行处理。

安全性¶

考虑到联盟链的高安全性需求,除了节点之间、节点与客户端之间通信采用TLS安全协议外,FISCO BCOS还实现了一整套安全解决方案:

网络准入机制:限制节点加入、退出联盟链,可将指定群组的作恶节点从群组中删除,保障了系统安全性。

黑白名单机制:每个群组仅可接收相应群组的消息,保证群组间网络通信的隔离性;CA黑名单机制可及时与作恶节点断开网络连接,保障了系统安全。

权限管理机制:基于分布式存储权限控制机制,灵活、细粒度地控制外部账户部署合约和创建、插入、删除和更新用户表的权限。

支持国密算法:支持国密加密、签名算法和国密通信协议。

落盘加密方案:支持加密节点落盘数据,保障链上数据的机密性。

密钥管理方案:在落盘加密方案的基础上,采用KeyManager服务管理节点密钥,安全性更强。

同态加密、群环签名:链上提供了同态加密、群环签名接口,用于满足更多的业务需求。

可运维性¶

联盟链系统中,区块链的运维至关重要,FISCO BCOS提供了一整套运维部署工具,并引入了合约命名服务、数据归档和迁移、合约生命周期管理等工具来提升运维效率。

运维部署工具: 部署、管理和监控多机构多群组联盟链的便捷工具,支持扩容节点、扩容新群组等多种操作。

合约命名服务: 建立合约地址到合约名和合约版本的映射关系,方便调用者通过记忆简单的合约名来实现对链上合约的调用。

数据归档、迁移和导出功能: 提供数据导出组件,支持链上数据归档、迁移和导出,增加了链上数据的可维护性,降低了运维复杂度。

合约生命周期管理: 链上提供合约生命周期管理功能,便于链管理员对链上合约进行管理。

易用性¶

FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短建链、部署应用的时间。

开发部署工具

基于Java SDK的交互式的命令行工具console

区块链浏览器

为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持Java SDK、Node.js SDK、Python SDK和Go SDK

社区开发工具¶

依托庞大的开源生态,社区内众伙伴秉承“来自开发者,用于开发者”的共建理念,在FISCO BCOS底层平台之上,自主研发多个趁手开发工具并回馈给社区,从不同业务层面需求上降低区块链应用开发难度和成本。以下作部分列举,欢迎更多机构或开发者向社区反馈更多好用的工具。

区块链中间件平台WeBASE:面向多种对象,如开发者、运营者,并根据不同的场景,包括开发、调试、部署、审计等,打造丰富的功能组件和实用工具,提供友好的、可视化的操作环境。

分布式身份解决方案WeIdentity:基于区块链的分布式多中心的技术解决方案,提供分布式实体身份标识及管理、可信数据交换协议等一系列的基础层与应用接口,可实现实体对象(人或物)数据的安全授权与交换。

分布式事件驱动架构WeEvent:实现了可信、可靠、高效的跨机构、跨平台事件通知机制。在不改变已有商业系统的开发语言、接入协议的情况下,实现跨机构、跨平台的事件通知与处理。

跨链协作方案WeCross:支持跨链事务交易,满足跨链交易的原子性,对跨链进行治理,可支持多方协作管理,避免单点风险。

场景式隐私保护解决方案WeDPR:针对隐匿支付、匿名投票、匿名竞拍和选择性披露等应用方案,提供即时可用场景式隐私保护高效解决方案,助力各行业合法合规地探索数据相关业务。

区块链数据治理组件解决方案:稳定、高效、安全的区块链数据治理组件解决方案,分别从底层数据存储层、智能合约数据解析层和应用层三个方面,提供了区块链数据挖掘、裁剪、扩容、可信存储、抽取、分析、审计、对账、监管等数据治理方面的关键能力。

区块链多方协作治理组件解决方案:可无缝适配FISCO BCOS的区块链治理组件解决方案。首批开源的四个组件分别从私钥丢失重置、合约权限细粒度管控、私钥和证书的全生命周期管控等方面着手,提供了可部署的智能合约代码、易于使用的SDK和可参考的落地实践Demo等交付物。

区块链应用开发组件解决方案:一套开放、轻量的开发组件集,覆盖智能合约的开发、调试、应用开发等环节,包含了Solidity智能合约开发工具库、 智能合约Gradle编译插件、应用开发脚手架。

ChainIDE:提供智能合约云端开发工具,帮助开发者节约边际成本,加速推送区块链应用落地。

FISCO BCOS区块链工具箱:与WeBase/Remix/VSCode/ChainIDE等IDE协同工作,提升开发体验与开发效率。

Ansible for FISCO BCOS 自动化生成企业级部署文件:本项目由为区块链开源项目 FISCO-BCOS 提供了自动化生成企业级配置文件的 ansible playbook。2 群组 3 机构 6 节点的环境,可以在 30 秒内(除下载时间)生成配置,极大简化了部署难度,避免了手工配置容易发生的错误。

Next

Previous

© Copyright FISCO BCOS 2019.

本技术文档适用于FISCO BCOS 2.x版本,FISCO BCOS 3.x版本技术文档请查看 这里, FISCO BCOS 1.3版本技术文档请查看 这里。

Revision 0f62ba03.

Built with Sphinx using a theme

provided by Read the Docs.

Read the Docs

v: latest

Versions

latest

stable

v2.8.0

v2.6.0

v2.5.0

v2.4.0

v2.3.0

v2.2.0

v2.1.0

v2.0.0

release-3.6.0

release-3.0.0-rc2

release-2-dev

release-2.9.0

release-2.8.0

release-2.7.0

release-2.1.0

release-1.3

dev

Downloads

pdf

epub

On Read the Docs

Project Home

Builds

起“底”联盟链:FISCO BCOS 与 Fabric之较 - 知乎

起“底”联盟链:FISCO BCOS 与 Fabric之较 - 知乎首发于AI前线切换模式写文章登录/注册起“底”联盟链:FISCO BCOS 与 Fabric之较AI前线2020年,我们继续同行,人工智能学习之路不寂寞!在国家政策的鼓励下,区块链技术的研发与推广正在不断升温,技术、标准、平台、框架都在持续发展,这其中,既有来自国外的布道者,也有源自国内的探索者。做为区块链三大部署形态之一的联盟链,因其与现实场景的高度契合性,正在出现越来越多的落地实例。为便于广大开发者、区块链爱好者了解联盟链中较为常见的两个开源设计,本文拟对Linux基金会的Hyperledger Fabric(以下简称Fabic)”和金链盟的“FISCO BCOS”进行简单的比较,权供大家参考。一、理念:设计背景与发展路径的区别Fabric诞生略早于FISCO BCOS。IBM较早意识到了区块链技术中可能蕴含的商机,投入较大力量进行相关研究,并于2015年将其设计的44000余行源代码奉献给了Linux基金会的Hyperledger项目,再融合了R3的一些设计思路后诞生了Fabric。Fabric最初即被定义为跨行业应用,因此,它注重的是构建基于区块链技术的通用框架。而FISCO BCOS最初的定位是设计为自主可控的、适用于金融行业的开源区块链底层平台。虽然FISCO BCOS出身自带“人设”,但随着平台的发展,FISCO BCOS也逐渐支持了更多金融领域以外的场景,是从“一专”到“多能”的发展路线。FISCO BCOS诞生于2017年,由金链盟推出,是标准的国产底层。金链盟是由深圳市金融科技协会、深圳前海微众银行、深证通等二十余家金融机构和科技企业于2016年5月31日共同发起成立的非营利性组织。目前,Hyperledger的会员大约为140余个,包括金融业、制造业、科技业等,也说明了其跨行业性,成员中大约1/4来自中国。而金链盟成员超过100个机构,覆盖银行、基金、证券、保险、地方股权交易所、科技公司、学术机构等多个行业,成员几乎全部来自中国。因此,在设计监管接口时,FSICO BCOS更适合中国企业。二、应用:带给开发者不同的设计思路Fabric做为一个通用设计框架,给出了比较完整的设计思路。其应用模型为MVC-B模式,MVC是软件设计中“模型-视图-控制器”设计模式,B即为区块链逻辑,包括链码(即智能合约)和交易,其含义即为以链码强化控制器,以交易强化模型,这是将区块链融入原有软件设计方式的指导。架构方面,Fabric给出的是成员管理服务、区块链服务、链码服务三大组成部分。可见,Fabric定义了一个基于区块链技术重新构建软件系统的架构方式,其用区块链彻底改变原有行业的良苦用心清晰可见。初次接触Fabric设计的人往往会试图用其建立起整个业务系统,笔者自己尝试过的业务设计也会顺着这种思路走,但是在实现中,通常会回到区块链系统与原业务系统结合的方式上。FISCO BCOS架构中很实用的一个设计是“AMOP”协议,AMOP协议在金融机构之间的业务来往中可以提供灵活的互操作性,可以结合区块链来实现复杂的交易场景。比如:A机构和B机构之间进行某种商品交易的价格协商或者份额撮合,其间需要往复多次协商,最终双方商定结果后,再按此结果发起链上交易,写入账本并达成确认,此前的协商则不在账本中记录,通过AMOP实现加密的点对点通信。FSICO BCOS给出的架构设计参考为“A机构业务系统-A机构前置-区块链网络中A机构节点-区块链网络中B机构节点-B机构前置- B机构业务系统”,这可以明显看出两个业务系统即区块链系统、原业务系统之间的分工协作,也就是说FISCO BCOS的应用方式更多是希望参与区块链的各方将需要做公共实现的部分放在区块链上,而与原有的业务系统“和谐相处”。这其实与其最初定位于金融行业有关,金融行业普遍信息化程度较高,原有业务系统比较复杂,差异也大,轻易不会接受较大外来改造,因此,这种做“公约数”和“连接器”的思路更容易实现和推广。业内普遍对区块链应用寄予较大希望的两种模式为:构建新的大型生态和改造现有的大型生态,而实现过程中,由于客观因素的限制,二者目前都没有出现突破。实际应用中,开发者可能还是要把握循序渐进的原则,从把区块链与现有系统结合做起,从改良到改变。三、跨链:关于通道和多链的比较Fabric中一项比较特殊的设计就是通道。通道是Orderers提供的服务,每个通道相当于一个消息订阅主题,加入该通道的节点间可以共享信息,而未加入通道的节点则无法共享信息,这为多参与方的设计中如何进行必要的信息隔离提供了方法。Fabric中每个通道都相当于一个链,一个通道一套账本,自然,跨通道就相当于跨链。但是Fabric的“多链”并不完善,因为它不支持跨链路由、跨链事务,只能跨链读取,更像是在一个单链上做的逻辑分割。实际开发中,通道通常被用于区分不同的业务,或者在复杂、冗长的业务流中区分不同的阶段,跨链机制的建立,只能通过同一个节点加入不同的通道来实现。FISCO BCOS是明确的多链设计,并且其设计指导中也建议按照业务分开不同的链,还可以为了扩容再按照机构数量进行分组,这种多链设计理论上可以无限扩大。采用多链之后,其节点操作、跨链操作都是基于网络地址,通过路由规则实现的,可以执行跨链读写。设计上建议同一个区块链网络里的多个分组在业务逻辑和配置尽可能高度一致,在商业规则、运营管理上都使用统一策略。目前多链设计还有一家,就是迅雷链,也是“同构多链”模式。多链模式通常效率会高于单链模式,这也是采取多链设计的原因之一,实测中,FISCO BCOS的吞吐量高于Fabric。性能和跨链一直是区块链技术中的热点话题。Fabric和FISCO BCOS都在这方面做出了积极的尝试,但是也都存在各自的问题,Fabric是跨链复杂且能力有限,而FISCO BCOS虽然解决了能力问题,但是分组机制也增加了业务设计的复杂性。四、社区:成熟度比较做为开源项目,社区建设对项目未来的发展非常重要,活跃的社区可以带来新的思维和广泛的需求,扩宽用户的视野,保障项目的健康成长。IBM是一家世界500强的跨国企业,拥有丰富的咨询经验,加上Fabric有众多的国内外项目,因此,建立起了国际化的开源社区,有众多优秀的自愿者参加社区工作,社区经常讨论要做的修改和发展问题,也经常在各地举办Meetup。FISCO BCOS面世时间不久,社区建设也正在大力开展中,目前其社区已经有近千名成员和近百家企业,同时也以技术沙龙的形式举办了多次线下交流活动。FISCO BCOS在未来的社区建设中,可以多考虑与监管机构、目标用户的互动,发挥自身优势,多举办一些领域专场而非简单的推广,开展时间持续、参与广泛、合作性质的专项话题,比如FISCO BCOS在供应链中的应用等,不局限于Meetup、沙龙形式,而应当多考虑些不受地域限制的互动形式。国际化方面,应该响应“一带一路”政策,跟随用户走,随着用户延伸,这样既有利于自身发展,也能帮助用户实现其业务目标。五、不得不说一下国产底层的优势做为一个后发的国产开源项目,FISCO BCOS还是在总结前人经验的基础上进行了很多有益的、符合国内环境的改良: (一)AMOP协议。又提到这个协议是因为其在解决多次协商场景方面确实有帮助,笔者在尝试用Fabric设计金融机构的同业交易市场业务模型时就遇到过这个问题。 (二)国密支持。这个优点相信做过Fabric的都有感受,因为在Fabric中进行国密替换不是件容易事,而国内,尤其是金融行业在这方面有强烈需求。 (三)支持多种CA。未来在电子合同、金融交易等方面,都需要有第三方CA的支持,能够支持多种CA对于确保区块链交易的法律地位是非常必要的。除此之外,合约命名服务(CNS)、区块链数据仓库等也提供了一些为应用考虑的便利设计。总结Fabric做为先行者,已经在联盟链方面具有了世界范围的领先优势,其架构比较成熟,也有数百个各类案例,其中包括马士基、沃尔玛等国际知名企业和海尔、邮储、中信等一众国内用户。FISCO BCOS做为后发者,利用自身优势,从金融行业出发走向跨领域应用,做了很多符合国内需要的独特设计。今年2月份广州仲裁委基于在FISCO BCOS上运行的“仲裁链”出具了业内首个裁决书,这是个有一定社会价值的案例。随着FISCO BCOS推广力度的上升,相信会逐步有更多的落地案例出现,为各行业的开发者提供应用指导。近期举办的「金链盟中国区块链应用大赛」,就是基于FISCO BCOS开发应用,提供资金、资源、技术辅导、投资人、媒体等支持和对接帮助,有兴趣的伙伴可以到大赛官网了解一下 https://con.geekbang.org/作者简介:付晓岩,中国建设银行资深业务架构师,负责业务架构设计、项目管理,热衷新技术探索与实践,具有丰富的银行业务经验和企业级项目业务架构设计经验。2000年加入建行,曾长期参加建行“新一代核心业务系统”建设,主导客户关系、金融市场、同业、资管、养老金等多个领域核心系统的业务架构设计。从2017年开始探索区块链技术及其应用,并发表《关于使用区块链技术建设行业级同业交易平台的探讨》、《数字货币可能诱发的现金社会经济活动的模拟与思考》等多篇文章。发布于 2018-10-09 14:41区块链(Blockchain)​赞同 23​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录A

搭建第一个区块链网络 — FISCO BCOS 2.0 v2.9.0 文档

搭建第一个区块链网络 — FISCO BCOS 2.0 v2.9.0 文档

FISCO BCOS 2.0

latest

平台介绍

FISCO BCOS 区块链

版本信息

快速开始

搭建第一个区块链网络

1. 搭建单群组FISCO BCOS联盟链

第一步. 安装依赖

第二步. 创建操作目录, 下载安装脚本

第三步. 搭建单群组4节点联盟链

第四步. 启动FISCO BCOS链

第五步. 检查进程

第六步. 检查日志输出

2. 配置及使用控制台

第一步. 准备依赖

第二步. 启动并使用控制台

3. 部署及调用HelloWorld合约

第一步. 编写HelloWorld合约

第二步. 部署HelloWorld合约

第三步. 调用HelloWorld合约

开发第一个区块链应用

构建和管理区块链网络

关键概念

网络搭建

配置管理

网络维护

开发区块链应用

创建和使用账户

开发和使用智能合约

多种语言SDK

区块链功能接口列表

使用链上信使

开发期问题排查

使用工具

开发部署工具(build_chain.sh)

命令行交互控制台

WeBASE管理平台

区块链浏览器

运维部署工具

数据治理通用组件

多方协作治理组件

区块链应用开发组件

系统设计

整体架构

区块链交易流程

数据结构与编码协议

核心模块设计解析

社区

MVP

贡献者

合作伙伴

深入浅出FISCO BCOS

社区资源和更多开源工具

FISCO BCOS 2.0

»

搭建第一个区块链网络

Edit on GitHub

搭建第一个区块链网络¶

标签:搭建区块链网络 区块链教程 HelloWorld 控制台调用合约

重要

相关软件和环境版本说明!请查看

本章介绍FISCO BCOS所需的必要安装和配置。本章通过在单机上部署一条4节点的FISCO BCOS联盟链,帮助用户掌握FISCO BCOS部署流程。请根据这里使用支持的硬件和平台操作。

注解

搭建全链路国密版本的链,请参考这里 。

FISCO BCOS支持x86_64和aarch64(ARM)架构的Linux和macOS,ARM架构需要编译源码获取fisco-bcos可执行程序。

1. 搭建单群组FISCO BCOS联盟链¶

本节以搭建单群组FISCO BCOS链为例操作。使用开发部署工具 build_chain.sh脚本在本地搭建一条4 节点的FISCO BCOS链,以Ubuntu 16.04 64bit系统为例操作。

注解

若需在已有区块链上进行升级,请转至 版本及兼容 章节。

搭建多群组的链操作类似, 参考这里 。

本节使用预编译的静态`fisco-bcos`二进制文件,在CentOS 7和Ubuntu 16.04 64bit上经过测试。

使用docker模式搭建 ,供有丰富docker经验和容器化部署需求的用户参考。

第一步. 安装依赖¶

开发部署工具 build_chain.sh脚本依赖于openssl, curl,根据您使用的操作系统,使用以下命令安装依赖。

安装macOS依赖

# 最新homebrew默认下载的为openssl@3,需要指定版本openssl@1.1下载

brew install openssl@1.1 curl

openssl version

OpenSSL 1.1.1n 15 Mar 2022

安装ubuntu依赖

sudo apt install -y openssl curl

安装centos依赖

sudo yum install -y openssl openssl-devel

第二步. 创建操作目录, 下载安装脚本¶

## 创建操作目录

cd ~ && mkdir -p fisco && cd fisco

## 下载脚本

curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.9.1/build_chain.sh && chmod u+x build_chain.sh

注解

如果因为网络问题导致长时间无法下载build_chain.sh脚本,请尝试 curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod u+x build_chain.sh

第三步. 搭建单群组4节点联盟链¶

在fisco目录下执行下面的指令,生成一条单群组4节点的FISCO链。

请确保机器的30300~30303,20200~20203,8545~8548端口没有被占用。

注解

国密版本请执行 bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -G

其中-g表示生成国密配置,-G表示使用国密SSL连接

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545

注解

其中-p选项指定起始端口,分别是p2p_port,channel_port,jsonrpc_port

出于安全性和易用性考虑,v2.3.0版本最新配置将listen_ip拆分成jsonrpc_listen_ip和channel_listen_ip,但仍保留对listen_ip的解析功能,详细请参考 这里

为便于开发和体验,channel_listen_ip参考配置是 0.0.0.0 ,出于安全考虑,请根据实际业务网络情况,修改为安全的监听地址,如:内网IP或特定的外网IP

命令执行成功会输出All completed。如果执行出错,请检查nodes/build.log文件中的错误信息。

Checking fisco-bcos binary...

Binary check passed.

==============================================================

Generating CA key...

==============================================================

Generating keys ...

Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1

==============================================================

Generating configurations...

Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1

==============================================================

[INFO] Execute the download_console.sh script in directory named by IP to get FISCO-BCOS console.

e.g. bash /home/ubuntu/fisco/nodes/127.0.0.1/download_console.sh

==============================================================

[INFO] FISCO-BCOS Path : bin/fisco-bcos

[INFO] Start Port : 30300 20200 8545

[INFO] Server IP : 127.0.0.1:4

[INFO] Output Dir : /home/ubuntu/fisco/nodes

[INFO] CA Key Path : /home/ubuntu/fisco/nodes/cert/ca.key

==============================================================

[INFO] All completed. Files in /home/ubuntu/fisco/nodes

第四步. 启动FISCO BCOS链¶

启动所有节点

bash nodes/127.0.0.1/start_all.sh

启动成功会输出类似下面内容的响应。否则请使用netstat -an | grep tcp检查机器的30300~30303,20200~20203,8545~8548端口是否被占用。

try to start node0

try to start node1

try to start node2

try to start node3

node1 start successfully

node2 start successfully

node0 start successfully

node3 start successfully

第五步. 检查进程¶

检查进程是否启动

ps -ef | grep -v grep | grep fisco-bcos

正常情况会有类似下面的输出;

如果进程数不为4,则进程没有启动(一般是端口被占用导致的)

fisco 5453 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node0/../fisco-bcos -c config.ini

fisco 5459 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node1/../fisco-bcos -c config.ini

fisco 5464 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node2/../fisco-bcos -c config.ini

fisco 5476 1 1 17:11 pts/0 00:00:02 /home/ubuntu/fisco/nodes/127.0.0.1/node3/../fisco-bcos -c config.ini

第六步. 检查日志输出¶

如下,查看节点node0链接的节点数

tail -f nodes/127.0.0.1/node0/log/log* | grep connected

正常情况会不停地输出连接信息,从输出可以看出node0与另外3个节点有连接。

info|2019-01-21 17:30:58.316769| [P2P][Service] heartBeat,connected count=3

info|2019-01-21 17:31:08.316922| [P2P][Service] heartBeat,connected count=3

info|2019-01-21 17:31:18.317105| [P2P][Service] heartBeat,connected count=3

执行下面指令,检查是否在共识

tail -f nodes/127.0.0.1/node0/log/log* | grep +++

正常情况会不停输出带有++++Generating seal的日志,即表示共识正常。

info|2020-12-22 17:24:43.729402|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=2e133146...

info|2020-12-22 17:24:47.740603|[g:1][CONSENSUS][SEALER]++++++++++++++++ Generating seal on,blkNum=1,tx=0,nodeIdx=1,hash=eb199760...

2. 配置及使用控制台¶

重要

控制台1.x 系列基于 Web3SDK 实现,控制台2.6之后 基于 Java SDK 实现,最新版本控制台基于 Java SDK 实现

2.6及其以上版本控制台使用文档请 参考这里 ,1.x版本控制台使用文档请 参考这里

可通过命令 ./start.sh --version 查看当前控制台版本

基于 Web3SDK 开发应用时将 solidity 代码转换为 java 代码时,必须使用 1.x 版本控制台,具体请参考 这里

在控制台链接FISCO BCOS节点,实现查询区块链状态、部署调用合约等功能,能够快速获取到所需要的信息。2.6版本控制台指令详细介绍参考这里,1.x版本控制台指令详细介绍参考这里。

第一步. 准备依赖¶

安装java (推荐使用java 14).

# ubuntu系统安装java

sudo apt install -y default-jdk

#centos系统安装java

sudo yum install -y java java-devel

获取控制台并回到fisco目录

cd ~/fisco && curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh

注解

如果因为网络问题导致长时间无法下载,请尝试 cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh

拷贝控制台配置文件

若节点未采用默认端口,请将文件中的20200替换成节点对应的channel端口。

# 最新版本控制台使用如下命令拷贝配置文件

cp -n console/conf/config-example.toml console/conf/config.toml

配置控制台证书

注解

使用1.x版本控制台时:

搭建国密版时,如果使用国密SSL请执行 cp nodes/127.0.0.1/sdk/gm/* console/conf/

搭建国密版时,请修改 applicationContext.xml 中 encryptType 修改为1

cp -r nodes/127.0.0.1/sdk/* console/conf/

第二步. 启动并使用控制台¶

启动

cd ~/fisco/console && bash start.sh

输出下述信息表明启动成功 否则请检查conf/config.toml中节点端口配置是否正确

=============================================================================================

Welcome to FISCO BCOS console(2.6.0)!

Type 'help' or 'h' for help. Type 'quit' or 'q' to quit console.

________ ______ ______ ______ ______ _______ ______ ______ ______

| \| \ / \ / \ / \ | \ / \ / \ / \

| $$$$$$$$ \$$$$$$| $$$$$$\| $$$$$$\| $$$$$$\ | $$$$$$$\| $$$$$$\| $$$$$$\| $$$$$$\

| $$__ | $$ | $$___\$$| $$ \$$| $$ | $$ | $$__/ $$| $$ \$$| $$ | $$| $$___\$$

| $$ \ | $$ \$$ \ | $$ | $$ | $$ | $$ $$| $$ | $$ | $$ \$$ \

| $$$$$ | $$ _\$$$$$$\| $$ __ | $$ | $$ | $$$$$$$\| $$ __ | $$ | $$ _\$$$$$$\

| $$ _| $$_ | \__| $$| $$__/ \| $$__/ $$ | $$__/ $$| $$__/ \| $$__/ $$| \__| $$

| $$ | $$ \ \$$ $$ \$$ $$ \$$ $$ | $$ $$ \$$ $$ \$$ $$ \$$ $$

\$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$

=============================================================================================

若1.x控制台启动失败,参考 Web3SDK启动失败场景

用控制台获取信息

# 获取客户端版本

[group:1]> getNodeVersion

ClientVersion{

version='2.6.0',

supportedVersion='2.6.0',

chainId='1',

buildTime='20200819 15:47:59',

buildType='Darwin/appleclang/RelWithDebInfo',

gitBranch='HEAD',

gitCommitHash='e4a5ef2ef64d1943fccc4ebc61467a91779fb1c0'

}

# 获取节点信息

[group:1]> getPeers

[

PeerInfo{

nodeID='c1bd77e188cd0783256ee06838020f24a697f9af785438403d3620967a4a3612e3abc4bbe986d1e9dddf62d4236bff0b7d19a935a3cd44889f681409d5bf8692',

ipAndPort='127.0.0.1:30302',

agency='agency',

topic=[

],

node='node2'

},

PeerInfo{

nodeID='7f27f5d67f104eacf689790f09313e4343e7887a1a7b79c31cd151be33c7c8dd57c895a66086c3c8e0b54d2fa493407e0d9646b2bd9fc29a94fd3663a5332e6a',

ipAndPort='127.0.0.1:57266',

agency='agency',

topic=[

_block_notify_1

],

node='node1'

},

PeerInfo{

nodeID='862f26d9681ed4c12681bf81a50d0b8c66dd5b6ee7b0b42a4af12bb37b1ad2442f7dcfe8dac4e737ce9fa46aa94d904e8c474659eabf575d6715995553245be5',

ipAndPort='127.0.0.1:30303',

agency='agency',

topic=[

],

node='node3'

}

]

[group:1]>

3. 部署及调用HelloWorld合约¶

第一步. 编写HelloWorld合约¶

HelloWorld合约提供两个接口,分别是get()和set(),用于获取/设置合约变量name。合约内容如下:

pragma solidity ^0.4.24;

contract HelloWorld {

string name;

function HelloWorld() {

name = "Hello, World!";

}

function get()constant returns(string) {

return name;

}

function set(string n) {

name = n;

}

}

第二步. 部署HelloWorld合约¶

为了方便用户快速体验,HelloWorld合约已经内置于控制台中,位于控制台目录下contracts/solidity/HelloWorld.sol,参考下面命令部署即可。

# 在控制台输入以下指令 部署成功则返回合约地址

[group:1]> deploy HelloWorld

transaction hash: 0xd0305411e36d2ca9c1a4df93e761c820f0a464367b8feb9e3fa40b0f68eb23fa

contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344

第三步. 调用HelloWorld合约¶

# 查看当前块高

[group:1]> getBlockNumber

1

# 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址

[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get

---------------------------------------------------------------------------------------------

Return code: 0

description: transaction executed successfully

Return message: Success

---------------------------------------------------------------------------------------------

Return values:

[

"Hello,World!"

]

---------------------------------------------------------------------------------------------

# 查看当前块高,块高不变,因为get接口不更改账本状态

[group:1]> getBlockNumber

1

# 调用set设置name

[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"

transaction hash: 0x7e742c44091e0d6e4e1df666d957d123116622ab90b718699ce50f54ed791f6e

---------------------------------------------------------------------------------------------

transaction status: 0x0

description: transaction executed successfully

---------------------------------------------------------------------------------------------

Output

Receipt message: Success

Return message: Success

---------------------------------------------------------------------------------------------

Event logs

Event: {}

# 再次查看当前块高,块高增加表示已出块,账本状态已更改

[group:1]> getBlockNumber

2

# 调用get接口获取name变量,检查设置是否生效

[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get

---------------------------------------------------------------------------------------------

Return code: 0

description: transaction executed successfully

Return message: Success

---------------------------------------------------------------------------------------------

Return values:

[

"Hello,FISCO BCOS"

]

---------------------------------------------------------------------------------------------

# 退出控制台

[group:1]> quit

Next

Previous

© Copyright FISCO BCOS 2019.

本技术文档适用于FISCO BCOS 2.x版本,FISCO BCOS 3.x版本技术文档请查看 这里, FISCO BCOS 1.3版本技术文档请查看 这里。

Revision 0f62ba03.

Built with Sphinx using a theme

provided by Read the Docs.

Read the Docs

v: latest

Versions

latest

stable

v2.8.0

v2.6.0

v2.5.0

v2.4.0

v2.3.0

v2.2.0

v2.1.0

v2.0.0

release-3.6.0

release-3.0.0-rc2

release-2-dev

release-2.9.0

release-2.8.0

release-2.7.0

release-2.1.0

release-1.3

dev

Downloads

pdf

epub

On Read the Docs

Project Home

Builds

1. FISCO BCOS 区块链 — FISCO BCOS 3.0 v3.6.0 文档

1. FISCO BCOS 区块链 — FISCO BCOS 3.0 v3.6.0 文档

FISCO BCOS 3.0

latest

平台介绍

1. FISCO BCOS 区块链

2. 关键特性

3. 功能概览

4. 版本说明

快速开始

1. 硬件和系统要求

2. 搭建第一个区块链网络

3. 开发第一个Solidity区块链应用

4. 开发第一个WBC-Liquid区块链应用

合约开发

1. Solidity合约开发

2. c++ 合约开发(预编译合约)

3. WBC-Liquid合约开发

4. 使用IDE

5. EVM OPCODE 兼容性描述

SDK教程

1. 多语言SDK

2. Java SDK

3. C SDK

4. Go SDK

5. Python SDK

6. Node.js SDK

7. Rust SDK

8. CPP SDK

9. C# SDK

10. SDK连接证书配置

搭链教程

1. 单群组区块链(Air版本)

2. 多群组区块链(Pro版本)

3. 可扩展区块链(Max版本)

4. 轻节点部署工具

5. 节点源码编译

6. 国产化支持

7. 使用docker部署区块链

应用开发

1. 应用开发指南

2. 区块链RPC接口

3. 账户使用与账户管理

4. 合约生命周期与权限管理

5. 控制台部署调用合约

6. SmartDev应用开发组件

7. 使用AMOP功能

8. 使用同态加密与群环签名

9. 智能合约安全实践

区块链运维

1. 一键建链工具

2. 监控工具

3. 控制台工具

4. 存储读写工具

5. 数据归档与恢复

6. 区块链管理平台

7. 区块链权限治理

8. 区块链扩容

9. 压力测试指南

10. 版本升级指南

11. 数据治理通用组件

12. 多方协作治理组件

13. 日志说明

14. 运维手册

高阶功能使用

1. 合约安全检测 SCStudio

2. 跨链协作平台 WeCross

3. 分布式身份 WeIdentity

4. 分布式事件框架 WeEvent

5. 可信预言机 Truora

6. 隐私保护方案 WeDPR

FISCO BCOS设计原理

1. 系统架构

2. 交易流程

3. 核心数据结构

4. 共识算法

5. 同步模块

6. 存储设计

7. 全方位并行

8. 智能合约引擎

9. 权限治理体系设计

10. 数据落盘加密

11. 数据归档设计

12. 国密支持方案

13. 网络包压缩

14. 安全控制

15. 硬件密码机

16. 兼容性方案

17. 合约命名服务CNS

18. 合约文件系统BFS

19. 公共网络组件BoostSSL

20. 链上信息传输协议AMOP

20. 链上信息传输协议AMOP

社区资源

1. MVP

2. 贡献者

3. PR 代码规范

4. 社区历史文章资源

5. 欢迎加入FISCO BCOS社区

6. 应用案例集

FISCO BCOS 3.0

»

1. FISCO BCOS 区块链

Edit on GitHub

1. FISCO BCOS 区块链¶

标签:FISCO BCOS介绍

FISCO BCOS是由深圳市金融区块链发展促进会(以下简称“金链盟”)开源工作组牵头研发的金融级、国产安全可控的区块链底层平台。作为最早开源的国产联盟链底层平台之一,FISCO BCOS于2017年面向全球开源。

开源六周年至今,FISCO BCOS开源社区在技术创新、应用产业以及开源生态均取得了非凡成绩。

FISCO BCOS持续攻关核心关键技术,单链性能突破10万TPS。首创DMC算法大幅度提升性能、推出三种架构形态灵活适配业务需求;全链路国产化,采用国密算法与软硬件体系,支持国产OS,适配国产芯片和服务器,支持多语言多终端国密接入。拥有覆盖底层+中间件+应用组件的丰富周边组件。

底层平台可用性已经广泛应用实践检验,支撑政务、金融、医疗、双碳、跨境数据流通等关乎国计民生的重点领域落地超过400个标杆应用,在助力实体经济发展、促进公平与可持续等方面贡献力量。

社区以开源链接多方,截止2023年12月,围绕FISCO BCOS构建的国产开源联盟链生态圈已汇聚了超过5000家机构、超10万名个人成员,以及50家认证合作伙伴、500余名核心贡献者。社区认证了63位FISCO BCOS MVP, 发展了12个专项兴趣小组SIG,此外与上百所知名院校开展人才共育合作,培育区块链产业人才超8万人次,已发展成为最大最活跃的国产开源联盟链生态圈之一。

六年共生共进 缔造雨林生态 | FISCO BCOS开源六周年成绩单

FISCO BCOS MVP 名单

FISCO BCOS 2023年度贡献者榜单

Next

Previous

© Copyright FISCO BCOS 2019.

本技术文档适用于FISCO BCOS 3.x版本,FISCO BCOS 2.x版本技术文档请查看 这里。

Revision 0f62ba03.

Built with Sphinx using a theme

provided by Read the Docs.

Read the Docs

v: latest

Versions

latest

v3.3.0

v3.0.0-rc3

v3.0.0-rc2

v3.0.0-rc1

release-3.6.0

release-3.4.0

release-3.3.0

release-3.2.0

release-3.0.0-rc4

release-3.0.0-rc3

release-3.0.0-rc2

release-3.0.0

release-3

Downloads

On Read the Docs

Project Home

Builds

BlockCity区块城市-务实元宇宙的先行者

kCity区块城市-务实元宇宙的先行者Please enable JavaScript to continue.区块城市BC众创BC众投城市区县 地域企业 品牌组织 社群明星 名人大V UP主学校 小区等川渝北区中本聪丽江花园洛溪华科大桃江一中圈内人元创道青岛通安坤物流湖南大学元初宇宙第九城市大湾区深圳众行大湾市北航宠爱哥哥瑜伽雄安新区华中大家具协会游艇小镇王氏宗亲东北农大南通大学吉林大学长沙师范DADAD白市AB城市湖大校友重庆衢州丽水舟山温州台州绍兴宁波金华嘉兴湖州杭州昭通玉溪西双版纳文山曲靖普洱怒江临沧丽江红河迪庆德宏楚雄保山大理昆明伊犁吐鲁番塔城克州克拉玛依喀什和田哈密昌吉博尔塔拉巴州阿勒泰阿克苏乌鲁木齐山南日喀则那曲林芝昌都阿里拉萨天津自贡资阳雅安绵阳眉山凉山甘孜德阳达州巴中阿坝宜宾南充内江泸州乐山广元遂宁攀枝花广安成都上海榆林渭南商洛延安咸阳铜川汉中安康宝鸡西安运城阳泉忻州晋中晋城朔州吕梁临汾长治大同太原泰安日照临沂聊城莱芜东营德州滨州淄博枣庄烟台潍坊威海青岛济宁济南菏泽大连玉树黄南海西海南州海东海北果洛西宁中卫吴忠固原石嘴山银川兴安盟锡林郭勒乌兰察布乌海通辽呼伦贝尔赤峰巴彦淖尔阿拉善盟呼和浩特鄂尔多斯包头铁岭盘锦辽阳葫芦岛阜新丹东朝阳本溪鞍山营口锦州抚顺沈阳鹰潭宜春新余上饶萍乡吉安赣州抚州南昌九江景德镇镇江盐城泰州宿迁淮安扬州徐州无锡苏州南通南京连云港常州延边通化松原四平辽源白山白城吉林长春株洲张家界永州益阳湘西湘潭邵阳娄底怀化郴州岳阳衡阳常德长沙孝感咸宁随州十堰荆州荆门黄石恩施鄂州宜昌襄樊黄冈武汉绥化双鸭山七台河黑河鹤岗伊春齐齐哈尔牡丹江佳木斯鸡西大兴安岭大庆哈尔滨驻马店周口许昌信阳新乡商丘三门峡濮阳平顶山南阳漯河洛阳焦作鹤壁安阳郑州开封张家口邢台唐山衡水邯郸沧州秦皇岛廊坊承德保定石家庄三亚海口黔西南黔南黔东南遵义铜仁六盘水毕节安顺贵阳玉林梧州钦州来宾崇左贺州河池桂林贵港防城港北海百色柳州南宁湛江云浮阳江汕尾清远梅州揭阳江门河源珠海中山肇庆深圳韶关汕头茂名惠州广州佛山东莞潮州张掖武威天水庆阳平凉陇南临夏酒泉金昌嘉峪关甘南定西白银兰州漳州三明龙岩厦门泉州莆田宁德南平福州北京宣城铜陵宿州六安黄山淮南淮北毫州阜阳滁州池州巢湖安庆芜湖马鞍山合肥蚌埠兑换领取城市基金专项募捐基金社会公益基金重大活动基金贡献奖励基金居民纾