Git Product home page Git Product logo

aelf's People

Contributors

abigaildeng avatar aerkol avatar atom-yang avatar deepwy avatar dennislfurrer avatar dependabot-preview[bot] avatar dependabot-support avatar eancuznaivy avatar eanzhao avatar ericblack avatar gldeng avatar hzz780 avatar jason-hoopox avatar jason-test-2021 avatar kaiwenzhengaelf avatar llyyss1988 avatar loning avatar louis4li avatar padawanzh avatar reyoung1110 avatar rosona avatar samfrb avatar shiwk avatar ssun0121 avatar xiangxingxing avatar xtaci avatar yanhuaviolet avatar yuezh127 avatar zhuyonglin avatar zhxymh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aelf's Issues

[bug] protocol message parser failed when running in multiple threads

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.

Smart contract execution

  • Parallel metadata calculation, efficient method for calculating state occupied by each transaction
  • State updating mechanism/algorithm

"CreateChainTest" Failing

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.

Transaction scheduling strategy

  • Calculate transaction metadata
  • Build dependencies among transactions
  • Correctness guaranteed for dispatch
  • Scheduling algorithm performance research

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.