aelfproject / aelf Goto Github PK
View Code? Open in Web Editor NEWA scalable cloud computing blockchain platform
Home Page: https://aelf.io/
License: MIT License
A scalable cloud computing blockchain platform
Home Page: https://aelf.io/
License: MIT License
An exception (sometimes) threw when we run the test case TxMemPool.IntergrationTest.StartMultiThread:
Google.Protobuf.InvalidProtocolBufferException : Protocol message contained an invalid tag (zero).
Later we found the position causing this failure is a method of ChangesStore:
public async Task<Change> GetChangeAsync(Hash pathHash)
{
var value = await _keyValueDatabase.GetAsync(pathHash.Value.ToBase64(), typeof(Change));
return value == null ? null : Change.Parser.ParseFrom(value);
}
It seems like something went wrong with the Parser of Change (deep research shows Protobuf failed to ReadTag
of input data). But before long we found a interesting/weird/upset solution: by slightly modifying the implementation of AccountContextService.SetAccountContext:
From
await adp.GetDataProvider().SetAsync(GetKeyForIncrementId(), accountDataContext.IncrementId.ToBytes());
To
await adp.GetDataProvider().SetAsync(GetKeyForIncrementId(), new UInt64Value
{
Value = accountDataContext.IncrementId
}.ToByteArray());
Basically we put a ulong
type to a protobuf type UInt64Value
, so at first we thought the reason cased aforementioned failure is the stuff we tried to set to database ain't a protobuf type. But during the attempt to confirm our conjecture, we found that the code actually does not reach the interaction of database, also the logic of Change is none of its business.
That's why I have to record this situation as an issue as well as seeking for help.
as documented here:
https://github.com/AElfProject/AElf/blob/master/docs/INTEROPERABILITY.md
Implement parallel execution of transactions using akka.net
child of #141
child of #158
Access/save of chains.
a reference implementation of the concept on scheduler is required:
https://github.com/AElfProject/AElf/blob/master/docs/SCHEDULER.md
Hello!
The "CreateChainTest" test in the Aelf.Kernel.Tests project is failing because it is expecting the CurrentBlockHeight to be 1. It appears that adding a new chain will add the genesis block, seen here. The second block is added in the test itself, seen here. I would expect the CurrentBlockHeight to be 2.
child of #141
child of #141
child of #141
Aelf Wallet plizzz
child of #141
parent
child of #141
a reference DPoS implementation is required:
https://github.com/AElfProject/AElf/blob/master/docs/CONSENSUS.md
child of #141
Disconnect in a way that frees the socket(s)/network stream.
it should be sha-256 @dhe0627
I see that you use MD5 for merkle hashing, why not SHA?
child of #141
child of #158
child of #141
child of #141
parent
and more details..
Serialization plan for storage and network transmission
child of #158
parent
child of #141
Transaction structure for persistence and network transmission
child of #141
child of #141
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.