Giter Club home page Giter Club logo

xuperunion's Introduction

XuperUnion

Build Status Go Report Card

What is XuperUnion

XuperUnion, the first open source project of XuperChain, introduces a highly flexible blockchain architecture with great transaction performance.

XuperUnion is the underlying solution for union networks with following highlight features:

  • High Performance

    • Creative XuperModel technology makes contract execution and verification run parallelly.
    • TDPoS ensures quick consensus in a large scale network.
    • WASM VM using AOT technology.
  • Solid Security

    • Contract account protected by multiple private keys ensures assets safety.
    • Flexible authorization system supports weight threshold, AK sets and could be easily extended.
  • High Scalability

    • Robust P2P network supports a large scale network with thousands of nodes.
    • Branch management on ledger makes automatic convergence consistency and supports global deployment.
  • Multi-Language Support: Support pluggable multi-language contract VM using XuperBridge technology.

  • Flexibility: Modular and pluggable design provides high flexibility for users to build their blockchain solutions for various business scenarios.

Quick start

Requirements

  • OS Support: Linux and Mac OS
  • Go 1.12.x or later
  • G++ 4.8.x or later
  • Git

Build

Clone the repository

git clone https://github.com/xuperchain/xuperunion

Enter the xuperunion folder and build the code:

make

Note that if you are using Go 1.11 or later, go modules are used to download 3rd-party dependencies by default. You can also disable go modules and use the prepared dependencies under vendor folder.

Run test:

make test

Run

There is an output folder if build successfully. Enter the output folder, create a default chain firstly:

./xchain-cli createChain

By doing this, a blockchain named "xuper" is created, you can find the data of this blockchain at ./data/blockchain/xuper/.

Then start the node and run XuperUnion full node servers:

nohup ./xchain &

By default, the xuper chain will produce a block every 3 seconds, try the following command to see the trunkHeight of chain and make sure it's growing.

./xchain-cli status

Documentation

Please refer to our wiki for more information, including how to build multi-node network, transfer to others, deploy and invoke smart contract.

How to Contribute

We encourage you to contribute to XuperUnion.

Please review the Contribution guidelines for information on how to get started contributing to the project.

License

XuperUnion is under the Apache License, Version 2.0.

=====

中文说明

XuperUnion是什么?

XuperUion是超级链体系下的第一个开源项目,是构建超级联盟网络的底层方案。

核心特点

  • 高性能

    • 原创的XuperModel模型,真正实现了智能合约的并发执行和验证。
    • TDPOS算法确保大规模节点下的快速共识。
    • 使用AOT加速的WASM虚拟机,合约运行速度接近native程序。
  • 更安全

    • 多私钥保护的账户体系。
    • 鉴权支持权重累计、集合运算等灵活的策略。
  • 易扩展

    • 鲁棒的P2P网络,支持广域网超大规模节点。
    • 底层账本支持分叉管理,自动收敛一致性,实现真正全球化部署。
  • 多语言开发智能合约

    • 通过原创的XuperBridge技术,可插拔多语言虚拟机。
  • 高灵活性

    • 可插拔、插件化的设计使得用户可以方便选择适合自己业务场景的解决方案。

快速试用

环境配置

  • 操作系统:支持Linux以及Mac OS
  • 开发语言:Go 1.12.x及以上
  • 编译器:G++ 4.8.x及以上
  • 版本控制工具:Git

构建

克隆XuperUnion仓库

git clone https://github.com/xuperchain/xuperunion

编译

cd xuperunion
make

跑单测

make test

单机版xchain

./xchain-cli createChain
nohup ./xchain &
./xchain-cli status

文档

关于XuperUnion更详细、更深入的使用方法链接:wiki

如何参与开发

  1. 阅读源代码,了解我们当前的开发方向
  2. 找到自己感兴趣的功能或模块
  3. 进行开发,开发完成后自测功能是否正确,并运行make & make test
  4. 发起pull request
  5. 更多详情请参见链接

许可证

XuperUnion使用的许可证是Apache 2.0

联系我们

如果你对XuperChain开源技术及应用感兴趣,欢迎添加“百度超级链·小助手“微信,回复“技术论坛进群”,加入“百度超级链开发者社区”,与百度资深工程师深度交流!

xuperunion's People

Contributors

icexin avatar yucaowang avatar xuperadmin avatar toworld avatar guoger avatar m3ngyang avatar michellez avatar fxsjy avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.