Features | Descriptions |
---|---|
Sharding | 4 shards, transactions within the same shard and between different shards are supported higher transaction fee for cross-shard transaction |
Smart Contracts | smart contracts are supported within the same shard |
Seele Wallet | easy-to-use wallet |
High TPS | same shard TPS: 500/shard, cross shard TPS: 12/shard |
Auditable Supply | total supply: 1,000,000,000 SEELEs, 300,000,000 SEELEs for mining |
Consensus Algorithm | MPOW: matrix-proof of work algorithm |
Mining Reward | 3150000 blocks/era and era reward follows [6, 4, 3, 2.5, 2, 2, 1.5, 1.5] order until reaches the last reward of 1.5 SEELEs |
Transaction Fee | self-customized transaction fee, higher fee for cross-shard transaction |
Block | 100 KB block size, 10 seconds block time, ~6000 transactions per block |
The official Golang implementation of Seele. Seele is an open source blockchain project which consists of advanced sharding technology and the innovative anti-asic MPoW consensus algorithm. https://seele.pro
The current mainnet release: Seele mainchain is powered by a new anti-ASIC consensus PoW algorithm, which requires scientific calculation related to matrix. MPOW PAPER The mainchain has four shards. It can perform transactions within a shard or crossing shards. However, smart contracts currently can be only executed within the same shard. Seele subchains are under development. Seele Stem subchain protocol. The so called EDA consensus algorithm EDA PAPER from Seele will be utilized for the subchains.
If you want to directly run the node and use client without setting up the compiling enviroment and building the executable files, you can choose right version to download and run:
Operation System | Download Link |
---|---|
Linux | [https://github.com/seeleteam/go-seele/releases] |
MacOs | [https://github.com/seeleteam/go-seele/releases] |
Windows | [https://github.com/seeleteam/go-seele/releases] |
Building the Seele project requires both a Go (version 1.7 or later) compiler and a C compiler. You can install them using your favourite package manager. Once the dependencies are installed, run
Building the Seele project requires both a Go (version 1.7 or later) compiler and a C compiler. Install Go v1.10 or higher, Git, and the C compiler.
Clone the go-seele repository to the GOPATH directory:
go get -u -v github.com/seeleteam/go-seele/...
cd GOPATH/src/github.com/seeleteam/go-seele/
make all
buildall.bat
A simple version Seele mining tutorial: English-SeeleMiningTutorial, 中文-Seele挖矿教程中文简版.
For running a node, please refer to Get Started(Older version).For more usage details and deeper explanations, please consult the Seele Wiki(Older version).
Thank you for considering helping out with our source code. We appreciate any contributions, even the smallest fixes.
Here are some guidelines before you start:
master
branch.Reviewable
button in your PR. Click this button, it will take you to the review page (it may ask you to login).Go! 是一个 PHP 5.4 库,让 PHP 支持 AOP 面向方面编程方法,无需 PECL 扩展、Runkit、evals 或者 DI 容器支持。可使用 XDebug 轻松调试。 示例代码: // Aspect/MonitorAspect.phpnamespace Aspect;use Go\Aop\Aspect;use Go\Aop\Intercept\FieldAccess;use Go\
命令go vet是一个用于检查Go语言源码中静态错误的简单工具。与大多数Go命令一样,go vet命令可以接受-n标记和-x标记。-n标记用于只打印流程中执行的命令而不真正执行它们。-n标记也用于打印流程中执行的命令,但不会取消这些命令的执行。示例如下: hc@ubt:~$ go vet -n pkgtool /usr/local/go/pkg/tool/linux_386/vet golang/
命令go fix会把指定代码包的所有Go语言源码文件中的旧版本代码修正为新版本的代码。这里所说的版本即Go语言的版本。代码包的所有Go语言源码文件不包括其子代码包(如果有的话)中的文件。修正操作包括把对旧程序调用的代码更换为对新程序调用的代码、把旧的语法更换为新的语法,等等。 这个工具其实非常有用。在编程语言的升级和演进的过程中,难免会对过时的和不够优秀的语法及标准库进行改进。这样的改进对于编程语
Pact Go的版本目前支持Pact v2规范,访问网站开始学习。 Go-Kit例子 Pact Go代码库中有一个详细的Go Kit 例子,介绍如何使用Pact去测试Go Kit微服务。 原生Go实现 还有一个Go版本的Pact(兼容pact v1.1),不需要运行一个守护进程。如果你不需要v2+的匹配以及运行守护进程,可以考虑使用或者为Pact Go贡献。
Panic表示的意思就是有些意想不到的错误发生了。通常我们用来表示程序正常运行过程中不应该出现的,或者我们没有处理好的错误。 package main import "os" func main() { // 我们使用panic来检查预期不到的错误 panic("a problem") // Panic的通常使用方法就是如果一个函数 // 返回一个我们不知道怎么处理
使用os.Exit可以给定一个状态,然后立刻退出程序运行。 package main import "fmt" import "os" func main() { // 当使用`os.Exit`的时候defer操作不会被运行, // 所以这里的``fmt.Println`将不会被调用 defer fmt.Println("!") // 退出程序并设置退出状态值