A highly flexible blockchain architecture with great transaction performance.

XuperChain

Build Status Go Report Card GolangCI License Release

中文说明

What is XuperChain

XuperChain, the first open source project of XuperChain Lab, introduces a underlying solution to build the super alliance network. Based on the dynamic kernel of xupercore. You can use xuberchain as a blockchain infrastructure to build a compliant blockchain network.

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

  • Dynamic kernel

    • Based on the dynamic kernel technology, the free extension kernel components without kernel code intrusion and lightweight extension customized kernel engine are implemented to meet the needs of blockchain implementation for various scenarios.
    • It provides a comprehensive and high-performance implementation of standard kernel components.
    • Comprehensively reduce the cost of blockchain research and development, and open a new era of one click chain development.
  • 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.

Contact

E-mail: [email protected]

Quick start

Requirements

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

Build

Clone the repository

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

Note: master branch contains latest features but might be unstable. for production use, please checkout our release branch. the latest release branch is v3.7.

Enter the xuperchain folder and build the code:

cd xuperchain
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

Run single node blockchain

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

cd ./output
sh control.sh start

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

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.

./bin/xchain-cli status

Run multi nodes blockchain

Generate multi nodes. Before running the following command, make sure you have run make to make the code.

make testnet

Enter the testnet directory, and then start three nodes separately (make sure the port is not used)

cd ./testnet/node1
sh ./control.sh start
cd ../node2
sh ./control.sh start
cd ../node3
sh ./control.sh start

Observe the status of each node

./bin/xchain-cli status -H :37101
./bin/xchain-cli status -H :37102
./bin/xchain-cli status -H :37103

Documentation

We have new documentation of Chinese version at XuperChain Chinese Docs, the English version is comming soon.

How to Contribute

We encourage you to contribute to XuperChain.

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

License

XuperChain is under the Apache License, Version 2.0.

=====

中文说明

XuperChain是什么?

XuperChain是超级链体系下的第一个开源项目,是构建超级联盟网络的底层方案。基于XuperCore动态内核实现的。您可以使用XuperChain,作为区块链基础设施,构建合规的区块链网络。 。

核心特点

  • 动态内核

    • 基于动态内核技术,实现无内核代码侵入的自由扩展内核核心组件和轻量级的扩展订制内核引擎,满足面向各类场景的区块链实现的需要。
    • 提供了全面的、高性能的标准内核组件实现。
    • 全面降低区块链研发成本,开启一键发链新时代。
  • 高性能

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

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

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

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

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

快速试用

环境配置

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

构建

克隆XuperChain仓库

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

注意: master 分支是日常开发分支,会包含最新的功能,但是 不稳定。生产环境请使用最新的已发布分支,最新的已发布分支是v3.10

编译

cd xuperchain
make

跑单测

make test

单机版xchain

cd ./output
sh ./control.sh start
./bin/xchain-cli status

多节点xchain

生成多节点。 在运行下面的命令之前,请确保已经运行make去编译代码。

make testnet

进入testnet目录,分别启动三个节点(确保端口未被占用)。

cd ./testnet/node1
sh ./control.sh start
cd ../node2
sh ./control.sh start
cd ../node3
sh ./control.sh start

观察每个节点状态

./bin/xchain-cli status -H :37101
./bin/xchain-cli status -H :37102
./bin/xchain-cli status -H :37103

文档

关于XuperChain更详细、更深入的使用方法链接请查看XuperChain文档库

如何参与开发

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

许可证

XuperChain使用的许可证是Apache 2.0

联系我们

商务合作,请Email:[email protected], 来源请注明Github。 如果你对XuperChain开源技术及应用感兴趣,欢迎添加“百度超级链·小助手“微信,回复“技术论坛进群”,加入“百度超级链开发者社区”,与百度资深工程师深度交流!微信二维码如下:

微信二维码

Comments
  • 根据账户地址查询交易记录

    根据账户地址查询交易记录

    Brief of your idea cli增加命令,可以查询某个账户下的交易记录 bin/xchain-cli account txquery [address] -H 127.0.0.1:37101

    What could be better if XuperChain using your idea 以太坊的区块链浏览器可以根据地址查询

    Additional information 类似于这种:https://etherscan.io/address/0x5e201a38da7f5BC62bc8aebd2BB816a101676162

  • app bin not exist!

    app bin not exist!

    $ sudo make
    rm -rf /home/linhieng/xuperchain/output
    bash /home/linhieng/xuperchain/auto/build_xvm.sh
    compile done!
    VERSION=HEAD COMMIT_ID=e684609 bash /home/linhieng/xuperchain/auto/build.sh
    go build -o /home/linhieng/xuperchain/output/bin/xchain -ldflags "-X main.Version=HEAD -X main.BuildTime=2022-07-08-16:53:42 -X main.CommitID=e684609" /home/linhieng/xuperchain/cmd/xchain/main.go
    /home/linhieng/xuperchain/auto/build.sh: line 36: go: command not found
    go build -o /home/linhieng/xuperchain/output/bin/xchain-cli -ldflags "-X main.Version=HEAD -X main.BuildTime=2022-07-08-16:53:42 -X main.CommitID=e684609" /home/linhieng/xuperchain/cmd/client/main.go
    /home/linhieng/xuperchain/auto/build.sh: line 36: go: command not found
    compile done!
    
    $ cd output/
    $ bash control.sh start
    app bin not exist!
    

    提示提示我 app bin 不存在,这是啥意思? 我查看了一下编译后的 output 结构,发现和文档里面的也不一样,bin 下少了东西

    $ tree output/
    output/
    ├── bin
    │   └── wasm2c
    ├── conf
    │   ├── contract.yaml
    │   ├── engine.yaml
    │   ├── env.yaml
    │   ├── ledger.yaml
    │   ├── log.yaml
    │   ├── network.yaml
    │   ├── server.yaml
    │   └── xchain-cli.yaml
    ├── control.sh
    └── data
        ├── genesis
        │   ├── poa.json
        │   ├── pow.json
        │   ├── tdpos.json
        │   ├── xpoa.json
        │   ├── xpos.json
        │   └── xuper.json
        ├── keys
        │   ├── address
        │   ├── private.key
        │   └── public.key
        └── netkeys
            ├── cacert.pem
            ├── cert.pem
            ├── net_private.key
            └── private.key
    
    6 directories, 23 files
    

    我怀疑过是不是因为我在 build_xvm.sh 文件加 export XVM_BUILD_MAIN=0,而导致编译后的 output 有问题。 因为使用该方法编译后确实有点问题,但最终还是可以 complile done! image

    所以我改用另外的方法,重新 make

    这是另外的方式:直接切换到 release-v5.1、master、release-v5.2分支编译

    但结果还是一样会出现 app bin not exist!


    我尝试看了一下报错原因,然后找到下面这段代码(从 output.sh 中截取出来的)

    AppName="xchain"
    BinPath="$Pwd/bin/$AppName"
    [ -f "$BinPath" ] || { echo "app bin not exist!"; exit; }
    

    可以看到,他是因为没有在 output/bin 下找到它想要的文件。

    这是我能够收集到的信息了,虽然如此,但是我还是不知道如何解决。 毕竟 output 文件是自动生成的呀😥

  • Grpc Client Invoke build error.

    Grpc Client Invoke build error.

    Brief of the issue When I wrote the GRPC client of XuperChain, I found that GRPC had a type error at compile time, because different GRPC packages were referenced. After using vendor, I found that the dependencies were abnormal.

    Your environment OS: Linux xuperunion 4.4.0-146-generic #172-Ubuntu SMP Wed Apr 3 09:00:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux Go Version: 1.12.6 GCC Version: 5.4.0

    Repo steps

    Expected behaviours null

    What actually happened ./client.go:16:30: cannot use conn (type *"google.golang.org/grpc".ClientConn) as type *"github.com/xuperchain/xuperunion/vendor/google.golang.org/grpc".ClientConn in argument to pb.NewXchainClient

    Additional information

    package main
    
    import (
    	"golang.org/x/net/context"
    	"crypto/tls"
    	"crypto/x509"
    	"io/ioutil"
    	"log"
    	"github.com/xuperchain/xuperunion/vendor/google.golang.org/grpc"
    	"github.com/xuperchain/xuperunion/vendor/google.golang.org/grpc/credentials"
    	pb "github.com/xuperchain/xuperunion/pb"
    )
    
    func main() {
    	cert, err := tls.LoadX509KeyPair("certs/test_client.pem", "certs/test_client.key")
    	if err != nil {
    		panic(err)
    	}
    
    	// 将根证书加入证书池
    	certPool := x509.NewCertPool()
    	bs, err := ioutil.ReadFile("certs/root.pem")
    	if err != nil {
    		panic(err)
    	}
    
    	if !certPool.AppendCertsFromPEM(bs) {
    		panic("cc")
    	}
    
    	// 新建凭证
    	transportCreds := credentials.NewTLS(&tls.Config{
    		ServerName:   "xuper",
    		Certificates: []tls.Certificate{cert},
    		RootCAs:      certPool,
    	})
    
    	dialOpt := grpc.WithTransportCredentials(transportCreds)
    
    	conn, err := grpc.Dial("127.0.0.1:37102", dialOpt)
    	if err != nil {
    		log.Fatalf("Dial failed:%v", err)
    	}
    	defer conn.Close()
    
    	client := pb.NewXchainClient(conn)
    	resp2, err := client.GetBlockChains(context.Background(), &pb.CommonIn{
    		Header: nil,
    	})
    
    	if err != nil {
    		log.Fatalf("%v", err)
    	}
    	log.Printf("Resp2:%+v", resp2)
    }
    
    
  • You need add fee problem

    You need add fee problem

    hi

    when I run the commands below,

    创建合约账户

    通用方式

    ./xchain-cli account new --desc account.des 其中,account.des内容如下 { "module_name": "xkernel", "method_name": "NewAccount", "args" : { "account_name": "1111111111111111", //说明:16位数字组成的字符串 "acl": "{"pm": {"rule": 1,"acceptValue": 0.6},"aksWeight": {"AK1": 0.3,"AK2": 0.3}}" } }

    简易方式

    ./xchain-cli account new --account 1111111111111111 // 说明:16位数字组成的字符串

    it show:

    [Fri Aug 23 16:34:49]#./xchain-cli account new --desc account.des
    contract response: {"pm": {"rule": 1,"acceptValue": 0.6},"aksWeight": {"AK1": 0.3,"AK2": 0.3}}
    The gas you cousume is: 1000
    You need add fee
    [Fri Aug 23 16:35:38]#./xchain-cli account balance --keys data/accounts/bob -H 127.0.0.1:37101
    0
    
    

    but how to solve it ?thank you .

  • Unable to generate transaction of contract deployment

    Unable to generate transaction of contract deployment

    Brief of the issue Following to this tutorial to deploy my first contract, everything is good until 4.3( contract deployment). I successfully created an account but failed to generate the transaction of contract deployment.

    The output of ./xchain-cli wasm deploy --account XC8888888888666666@xuper --cname copy -H 14.215.179.74:37101 -m -A data/acl/addrs --arg '{"creator":"xchain234"}' --out put contractRawTx.out --fee 144200 counter is as follows:

    contract response: contract has not been banned
    contract response: access permission succeed
    contract response: initialize succeed
    The gas you cousume is: 144184
    The fee you pay is: 144200
    Select utxo error, details:NOT_ENOUGH_UTXO_ERROR
    
    

    Your environment XuperUnion v3.2 branch and using the docker environment.

    Repo steps Describe how to reproduce this issue.

    Expected behaviours Have an contractRawTx.out transaction as output

    What actually happened No output is created

    Additional information If possible, include a minimal, complete, and verifiable example to help us identify the issue. This also helps check that the issue is not with your own code.

  • Question on Genesis (xuper.json)

    Question on Genesis (xuper.json)

    Hello,

    I am working through the documentation to run XuperChain after compiling it and have a question regarding the "/data/genesis" files.

    In particular, I see a static address "TeyyPLpp9L7QAcxHangtcHTu7HUZ6iydY" in the designation of the Xuper token and am wondering how this is generated and how to generate a new one:

    (example xuper.json) { "version": "1", "predistribution": [ { "address": "TeyyPLpp9L7QAcxHangtcHTu7HUZ6iydY", "quota": "100000000000000000000" } ], "maxblocksize": "128", "award": "1000000", "decimals": "8", "award_decay": { "height_gap": 31536000, "ratio": 1 }, "gas_price": { "cpu_rate": 1000, "mem_rate": 1000000, "disk_rate": 1, "xfee_rate": 1 }, "new_account_resource_amount": 1000, "genesis_consensus": { "name": "single", "config": { "miner": "TeyyPLpp9L7QAcxHangtcHTu7HUZ6iydY", "period": "3000" } } }

  • Does XuperChain establish transaction fees?

    Does XuperChain establish transaction fees?

    Hello,

    I have been reading up on the XuperChain blockchain and am trying to determine if it incorporates TX transactions fees for sending and receiving tokens?

    If so, then I would assume that there is a wallet address that is established when the boot node comes up for this purpose, but cannot find any information on it.

    Of course, there are a couple of existing blockchains (i.e. NANO, Mana, etc.) that do not have GAS fees and are truly fee-less but I would like to know how XuperChain is configured in this area.

    Any information would be helpful. Thanks in advance

  •  Optimizing code & add some notes

    Optimizing code & add some notes

    Description

    1. Some obvious duplicate calculations have been removed.
    2. In order to better understand the tipping-related code, some comment are added to the output code of the tips.

    Type of change

    • [x] Optimizing code

    Brief of your solution

    Repeated computational code, which assigns values to variables only once, is then used publicly.

  • Question on pre-distributed account

    Question on pre-distributed account

    Hello,

    I have been working with the 3-node TESTNET to get a feel for things and bring up the nodes with no problem.

    then:

    Check the Keys main account

    $ bin/xchain-cli account balance TeyyPLpp9L7QAcxHangtcHTu7HUZ6iydY 100000000000038000000

    Create Bob and chack account

    $ bin/xchain-cli account newkeys --output data/bob $ bin/xchain-cli account balance eYKe14ok9XQ1jdCGjdmNJSWsMhS1R6cxr 0

    Transfer some to Bob

    $ bin/xchain-cli transfer --to eYKe14ok9XQ1jdCGjdmNJSWsMhS1R6cxr --amount 100 --keys data/keys/ -H 127.0.0.1:37101 4e4e1ce92aa0a1a1496801695c1ab5bce89b6a99757194007187799fa5cc3fa2

    Check Bob account

    $ bin/xchain-cli account balance eYKe14ok9XQ1jdCGjdmNJSWsMhS1R6cxr 100

    Check the Pre-Distributed account

    $ bin/xchain-cli account balance TeyyPLpp9L7QAcxHangtcHTu7HUZ6iydY 100000000000124999900

    Transfer large amount to Bob

    $ bin/xchain-cli transfer --to eYKe14ok9XQ1jdCGjdmNJSWsMhS1R6cxr --amount 100000000 --keys data/keys/ -H 127.0.0.1:37101 60b896b9adbea6314a1130e1f8e99f5553caa1f1a33601925e0d7e056bb5ffe4

    Check Bob account again

    $ bin/xchain-cli account balance eYKe14ok9XQ1jdCGjdmNJSWsMhS1R6cxr 100000100

    Check the Pre-Distributed account

    $ bin/xchain-cli account balance TeyyPLpp9L7QAcxHangtcHTu7HUZ6iydY 100000000000031999900

    The question that I have is that the main "data/keys" Pre-Distribution account seems to increase little-by-little due to mining which is correct, but that when I TRANSFER tokens OUT of the main data/keys account then the main balance does not seem to decrease.

    Is this correct?

    I would expect for the "data/keys" account to decrease as tokens are transferred to Bob, and others.

    Or, is the purpose of the "data/keys" initial account to maintain a cumulative sum total MAX tokens for the whole network?

    Can you please clarify?

    Thanks and Happy Holidays

  • 部署solidity智能合约出错

    部署solidity智能合约出错

    执行 #./bin/xchain-cli evm deploy --account XC1234567890123456@xuper -a '{"initialSupply":"1000","tokenName":"ONE","tokenSymbol":"ONE"}' --cname TokenERC20 /root/data/TokenERC20/TokenERC20.bin --abi /root/data/TokenERC20/TokenERC20.abi --name xuper

    控制台输出: PreExe contract response : rpc error: code = Unknown desc = Err:500-50501-contract invoke failed+bad address, logid:1629364792_5354109026064301

  • 在环境部署的第一步 make 时中断报错

    在环境部署的第一步 make 时中断报错

    Brief of the issue build xvm error: make[1]: Entering directory '/home/xuperchain/.compile_cache/xvm/xvm/compile/wabt' make[1]: *** 没有指明目标并且找不到 makefile。 停止。 make[1]: Leaving directory '/home/xuperchain/.compile_cache/xvm/xvm/compile/wabt' complie xvm failed Makefile:24: recipe for target 'xvm' failed make: *** [xvm] Error 1

    Your environment XuperChain V5.1.0 GO version go1.15.6 linux/amd64 Oracle VM VirtualBox ,OS linux 4.15.0-30deepin-generic CPU AMD 5950X 16-Core

    Repo steps 我同样的配置创建了一个新的虚拟机 使用centos8 一切正常

    Expected behaviours recipe for target 'xvm' failed build 中断无法继续执行

    What actually happened 在环境部署的第一步 make 时中断报错

    Additional information 以上问题我暂时是使用以下方式解决的:

    function buildxvm() {
        # clean dir
        ----
        ----
    
        # download pkg
    
        # unzip
    	
         sleep 5  #加入等待时间(暂且解决)
    	
       # make
    	    
    }
    

    buildxvm 函数中的 #unzip 与 #make 之间 等待5秒中待文件全部复制完毕再向下执行

  • Delete invalid layers

    Delete invalid layers

    Delete invalid layers

    Description

    What is the purpose of the change? Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

    Fixes # (issue)

    Type of change

    Please delete options that are not relevant.

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Brief of your solution

    Please describe your solution to solve the issue or feature request.

    How Has This Been Tested?

    Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Regression for UTXO

    Regression for UTXO

    Description

    • Regression test covers UTXO
    • Standardise shell code
    • Fix error in current shell codes
    • Support shell lint to auto-fix and beautify shell codes
    • Improve Bug Issue template
    • Increase unit test for client code

    Fixes #1178 #1185

    Type of change

    Please delete options that are not relevant.

    • [ ] New feature (non-breaking change which adds functionality)

    Brief of your solution

    • Create UTXO test case
    • Support shell lint
    • Support shell code beautify
    • Add script error codes

    How Has This Been Tested?

    1. Local env tests
    2. GitHub workflow tests
  • Go-report Failed

    Go-report Failed

    Brief of the issue

    image

    Your environment

    https://github.com/xuperchain/xuperchain/tree/master#readme

    Repo steps

    1. Open readme of project in Github

    Expected behaviours

    Go-report pass

    What actually happened

    Go-report failed

    Additional information

    None yet

  • Standardise shell code

    Standardise shell code

    Brief of your idea

    Improve quality of shell code.

    What could be better if XuperChain using your idea

    1. Minify the cost of maintaining scripts
    2. Improve readability of shell code
    3. Beautify shell code

    Are there any side effects?

    A little bit more challenge for newer to merge code.

    Additional information

    None yet.

  • Regression test for main features

    Regression test for main features

    Brief of your idea

    Add regression test for main features

    What could be better if XuperChain using your idea

    Quality assurance

    Are there any side effects?

    Increase CI time

    Additional information

    • None yet
Bayesian text classifier with flexible tokenizers and storage backends for Go

Shield is a bayesian text classifier with flexible tokenizer and backend store support Currently implemented: Redis backend English tokenizer Example

Nov 25, 2022
Social-gold - Social Gold is the blockchain that powers the Social Gold Social platform
Social-gold - Social Gold is the blockchain that powers the Social Gold Social platform

Social Gold is Proof of authority (POA) blockchain that powers the Social Gold S

Feb 20, 2022
Menggunakan clean architecture dengan domain driven design

Golang project Menggunakan clean architecture dengan domain driven design Domain - Entity Sebuah model untuk entitas Domain - Model Hampir sama dengan

Jan 4, 2022
Clean Architecture With Golang

Clean Architecture With Golang When init a new project go mod init github.com/samuelterra22/clean-architecture-go Run testes go test ./... Generate a

Aug 2, 2022
NJ Meetup - Build an event-driven architecture with Apache Pulsar

Meetup-YourFirstEventDrivenApp NJ Meetup - Build an event-driven architecture with Apache Pulsar Code Along bin/pulsar-admin tenants create meetup bi

May 8, 2022
A curated list of Awesome Go performance libraries and tools

Awesome Go performance Collection of the Awesome™ Go libraries, tools, project around performance. Contents Algorithm Assembly Benchmarks Compiling Co

Jan 3, 2023
A quick tour (or reminder) of Go performance tools

Basics of benchmarking, profiling and tracing with Go Introduction This documentation gives an overview of possibilities offered by go tooling to meas

Dec 29, 2022
A high performance go implementation of Wappalyzer Technology Detection Library

wappalyzergo A high performance port of the Wappalyzer Technology Detection Library to Go. Inspired by https://github.com/rverton/webanalyze. Features

Jan 8, 2023
A high-performance timeline tracing library for Golang, used by TiDB

Minitrace-Go A high-performance, ergonomic timeline tracing library for Golang. Basic Usage package main import ( "context" "fmt" "strcon

Nov 28, 2022
Transaction processor for the Elrond Blockchain

Elrond Ledger Transactions Processor Elrond Ledger Transactions Processor processes transactions block by block on the Elrond ledger. This codebase is

Jun 27, 2022
Api for getting blockchain block and transaction details in Go.

Getting Blockchain Data Api for getting blockchain block and transaction details Things you need Go: brew install go Install docker Setup go folder in

Dec 14, 2021
Blockchain transaction manager for Hyperledger FireFly
Blockchain transaction manager for Hyperledger FireFly

Blockchain transaction manager for Hyperledger FireFly. Integrates public blockchains through a pluggable FireFly Connector API framework. Extensible policy engine for managing gas & resubmission. Confirmation manager for managing finality on both transactions and event streams.

Dec 15, 2022
A dead simple, highly performant, highly customizable sessions middleware for go http servers.

If you're interested in jwt's, see my jwt library! Sessions A dead simple, highly performant, highly customizable sessions service for go http servers

Dec 19, 2022
BlobStore is a highly reliable,highly available and ultra-large scale distributed storage system

BlobStore Overview Documents Build BlobStore Deploy BlobStore Manage BlobStore License Overview BlobStore is a highly reliable,highly available and ul

Oct 10, 2022
Yu is a highly customizable blockchain framework.
Yu is a highly customizable blockchain framework.

禹 Yu is a highly customizable blockchain framework. 中文文档 Overall Structure Introduction By using Yu, you can customize three levels to develop your ow

Jan 7, 2023
Yu is a highly customizable blockchain framework.
Yu is a highly customizable blockchain framework.

禹 Yu is a highly customizable blockchain framework. 中文文档 Overall Structure Introduction By using Yu, you can customize three levels to develop your ow

Dec 11, 2022
arsyncer is the high performance arweave network transaction synchronisation component.

arsyncer Install go get github.com/everFinance/arsyncer Introduction arsyncer is the high performance arweave network transaction synchronisation comp

Dec 7, 2022
A Go "clone" of the great and famous Requests library

GRequests A Go "clone" of the great and famous Requests library License GRequests is licensed under the Apache License, Version 2.0. See LICENSE for t

Dec 23, 2022
Censors or hides shell / Bash / console output based on defined patterns - great for hiding secrets in demos!
Censors or hides shell / Bash / console output based on defined patterns - great for hiding secrets in demos!

censor-shell Installation go install Usage Make the file ~/.censor-shell as an INI file with the following content: [nameofmyreplacement] pattern = b

Nov 11, 2022
A strongly typed HTML templating language that compiles to Go code, and has great developer tooling.
A strongly typed HTML templating language that compiles to Go code, and has great developer tooling.

A language, command line tool and set of IDE extensions that makes it easier to write HTML user interfaces and websites using Go.

Dec 29, 2022