A scalable blockchain built on clusters, dotnet core blockchain project
Clone or download
Latest commit a3b6cee Jan 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AElf.ABI.CSharp.Tests.TestContract Add FeeAttribute Dec 24, 2018
AElf.ABI.CSharp.Tests Merge branch 'dev' into enhancement-code-quality-dev Dec 28, 2018
AElf.ABI.CSharp Add FeeAttribute Dec 24, 2018
AElf.Benchmark.TestContract Merge branch 'dev' into enhancement/datastore-dp Oct 18, 2018
AElf.Benchmark Modify GetMiners method for transaction execution. Jan 15, 2019
AElf.CLI2.Tests Remove chakracore tar from code Dec 15, 2018
AElf.CLI2 Merge branch 'dev' of https://github.com/AElfProject/AElf into featur… Jan 16, 2019
AElf.ChainController.Rpc Change chain creation request result to chain id. Jan 11, 2019
AElf.ChainController Merge branch 'dev' of https://github.com/AElfProject/AElf into featur… Jan 11, 2019
AElf.Common [Tune] Change DaysEachTerm for testing. Jan 18, 2019
AElf.Concurrency.Lighthouse Fix warning Dec 20, 2018
AElf.Concurrency.Worker change name of module SmartContractRunnerFactory Dec 24, 2018
AElf.Configuration.Tests Fix warning Dec 20, 2018
AElf.Configuration [Feature] Single node recover mining. Jan 8, 2019
AElf.Contracts.Authorization.Tests Merge branch 'dev' into enhancement-code-quality-dev Dec 28, 2018
AElf.Contracts.Authorization Merge branch 'dev' of https://github.com/AElfProject/AElf into featur… Jan 16, 2019
AElf.Contracts.Consensus.Tests [Tune] Add stopwatches to some consensus methods. Jan 17, 2019
AElf.Contracts.Consensus [Fix] Fix bug of Consensus Process. Jan 21, 2019
AElf.Contracts.CrossChain Add validation before getting locked balance for side chain. Jan 21, 2019
AElf.Contracts.Dividends [Fix] Fix KeepWeights. Jan 17, 2019
AElf.Contracts.Examples Merge branch 'dev' into feature-abi Jun 14, 2018
AElf.Contracts.Genesis.Tests update contract supports proposal Jan 7, 2019
AElf.Contracts.Genesis init smart contract use same method Jan 7, 2019
AElf.Contracts.Proposal add authorization contract Nov 23, 2018
AElf.Contracts.Resource.FeeReceiver Create FeeReceiverContract Dec 20, 2018
AElf.Contracts.Resource Add method GetConverterKey which standardizes the string to upper case Dec 28, 2018
AElf.Contracts.SideChain.Tests Fix test case. Jan 14, 2019
AElf.Contracts.Token.Tests Create NoFeeSimpleExecutingService and NoFeeParallelTransactionExecut… Dec 29, 2018
AElf.Contracts.Token [Tune] Fix ReceiveDividends. Jan 10, 2019
AElf.Cryptography.Tests Change generate certificate with ISignatureFactory Dec 26, 2018
AElf.Cryptography Fix bug unformatted signature. Jan 14, 2019
AElf.DPoS Initialize DPoS part again :( Jun 6, 2018
AElf.Database.Tests Revert "Feature refactor data store" Dec 25, 2018
AElf.Database Suppress no await warning Dec 26, 2018
AElf.Driver chain context Mar 23, 2018
AElf.Execution [Feature] Tune MinersManager. Jan 16, 2019
AElf.Kernel.Consensus [Fix] Fix InitialTerm for sidechain. Jan 21, 2019
AElf.Kernel.Modules.AutofacModule Merge branch 'dev' into feature/block-marking Sep 4, 2018
AElf.Kernel.Tests.TestContract Fix stuff related parallel (incl. skipFee for test) Dec 25, 2018
AElf.Kernel.Tests.TestContractZero Resolve merge. Nov 23, 2018
AElf.Kernel.Tests [Tune] Skip StateRollbackTest. Jan 17, 2019
AElf.Kernel.Types [Log] Add some log for debug. Jan 18, 2019
AElf.Kernel Remove chain config from kernel module. Jan 21, 2019
AElf.Launcher Merge branch 'dev' of https://github.com/AElfProject/AElf into featur… Dec 29, 2018
AElf.Management.Tests Fix unit test Dec 28, 2018
AElf.Management.Website Fix await warning issue Dec 21, 2018
AElf.Management Fix warning Dec 24, 2018
AElf.Miner.Rpc Add validation before getting locked balance for side chain. Jan 21, 2019
AElf.Miner.Tests Remove unused test cases. Jan 21, 2019
AElf.Miner Remove unused logs. Jan 18, 2019
AElf.Monitor fix router Sep 27, 2018
AElf.Net.Rpc Change Base58check lib to avoid lots of warning Dec 19, 2018
AElf.Network.Sim.Node Change Base58check lib to avoid lots of warning Dec 19, 2018
AElf.Network.Sim Add todo comment for the no wait call Dec 26, 2018
AElf.Network.Tests Fix unit warning Dec 20, 2018
AElf.Network Query another peer on failed time request. Jan 21, 2019
AElf.Node Merge branch 'feature-shared-BP' of https://github.com/AElfProject/AElf Jan 21, 2019
AElf.OS.Tests fix reference Aug 31, 2018
AElf.OS change ITransaction Jan 29, 2018
AElf.RPC Remove unused reference lib Dec 27, 2018
AElf.Runtime.CSharp.Tests.TestContract remove unused test contracts Dec 4, 2018
AElf.Runtime.CSharp.Tests merge dev branch Dec 29, 2018
AElf.Runtime.CSharp Merge branch 'dev' into enhancement-code-quality-dev Dec 28, 2018
AElf.Sdk.CSharp.Tests.TestContract Fix some tests Oct 3, 2018
AElf.Sdk.CSharp.Tests merge dev branch Dec 29, 2018
AElf.Sdk.CSharp [Log] Add some log for debug. Jan 18, 2019
AElf.SideChain.Creation Revert "Feature refactor data store" Dec 25, 2018
AElf.SmartContract Merge dev. Jan 18, 2019
AElf.Synchronization.Tests Fix synchronizer test cases. Jan 17, 2019
AElf.Synchronization Remove unused logs. Jan 18, 2019
AElf.Test.ChainCreator change Base64 to Hex Jun 30, 2018
AElf.Types.CSharp.Tests Fix some tests Oct 3, 2018
AElf.Types.CSharp improve block executor for cross chain Dec 20, 2018
AElf.Wallet.Rpc Fix warning Dec 24, 2018
docs Update desgin.md Nov 23, 2018
scripts Update docker build script Dec 29, 2018
.gitignore fix bug about server startup Sep 7, 2018
.travis.yml Removed install_nodejs.sh Dec 19, 2018
AElf.sln Create FeeReceiverContract Dec 20, 2018
AElf.sln.DotSettings Unittest Skeleton for AElf.CLI2 Jul 23, 2018
README.md Fixed the website link text Apr 12, 2018
build.sh Add check after dotnet build, exit the test early if build failed. Dec 17, 2018
deploy.sh Update docker build script Dec 29, 2018
install_protobuf.sh Update install_protobuf.sh Jul 19, 2018

README.md

AElf - A Decentralized Cloud Computing Blockchain Network

Build Status

Waffle.io - Columns and their card count

Welcome to AElfs’ official GitHub repository. The code is still in its early stages and is under constant change to improve its quality and functionality.

You can find out more about AElf by reading the White Paper.

Official website: aelf.io

Overview

AElfs main objective is to permit scalability and extensibility through a multi-layer branching structure formed by a main chain and multiple levels of side-chains (a tree like structure). Each side-chain will be designed for one business use case. We also plan to include communication with external blockchains like Bitcoin or Ethereum.

AElf also aims to make it as easy as possible to extend/customize the system by providing easy to use tools and frameworks in order to customize the chains and write smart contracts. AElf will support various languages that will let developers choose the one they are the most comfortable with.

AElf will improve overall blockchain performance by executing transactions in parallel and isolating smart contracts in their own side-chains in order to segregate the systems resources.

Development

In these early stages, we want to concentrate on developing the kernel of the system. This corresponds to the most basic building block of the system. Notably, structures like chain and storage will be implemented in it. The next step will be to develop the networking and consensus layer used to create the network. The final step will be to work on AElfs gouvernance system.

If you want to run the code you can clone the repository and open the project with any IDE that support C# and the .NET core runtime (we would recommend either Visual Studio on Windows or Rider if you’re on a Mac). You will also need to have the .NET Core SDK installed.

For now the solution includes the unit tests, you can run them and study them to get an idea as to how different parts of the current system work and how they’re used.

You will find some more in-depth technical documentation here.

How to Contribute

If you have a reasonable understanding of blockchain technology and at least some notions of C# you can of course contribute by using GitHub issues and Pull Requests. We also appreciate other types of contributions such as documentation improvements or even correcting typos in the code if you spot any.

The standard procedure is well documented on GitHub, for detailed explanation, especially if it’s the first time you’re doing this, you can follow the procedure on the following links: Working with forks and Pull Requests. Basically, you fork the AElf repository, create a branch that clearly indicates the problem you’re solving. Later, when you are happy with your work, you create a Pull Request so we can review and discuss your implementation.

If the problem needs debating or you have questions on how to implement a feature, we would prefer you open a GitHub issue. If you spotted a typo or a code formatting issue, just directly opening a Pull Request is fine.

Supported Platforms

Any platform that supports .NET Core is compatible.