Giter Site home page Giter Site logo

trueblocks / trueblocks-core Goto Github PK

View Code? Open in Web Editor NEW
1.0K 1.0K 197.0 619.19 MB

The main repository for the TrueBlocks system

Home Page: https://trueblocks.io

License: GNU General Public License v3.0

Shell 0.56% CMake 0.46% Python 1.12% Makefile 0.03% Go 95.27% Solidity 0.29% Dockerfile 0.03% Nix 0.01% JavaScript 0.07% TypeScript 2.08% Batchfile 0.08%
blockchain command-line-tools ethereum indexing

trueblocks-core's People

Contributors

arieltm avatar artur-jablonski avatar avoidaway avatar bardinpetr avatar cole-h avatar crodnun avatar dependabot[bot] avatar doy-lee avatar dszlachta avatar fudancoder avatar johhonn avatar leafyoung avatar mattdodsonenglish avatar nysxah avatar omahs avatar perama-v avatar rainm avatar snf avatar srgank avatar threehonor avatar tjayrush avatar uwe avatar vuittont60 avatar wakamex avatar weijiekoh avatar wildmolasses avatar wschwab avatar xiaoxianboy avatar yalexis-eth avatar yingshanghuangqiao 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

trueblocks-core's Issues

Chain reorgs

I’m not sure where to ask this. I’m running a node, but I’m not mining. Periodically, I retreive block and transaction data using RPC. It then save that data locally. I hear all this talk about re-orgs, so I would expect that once in a while, some of the data I pull would be “re-orged"

I should save data for X blocks. And then spin and re grab data fresh to check for re-orgs. This will be a big deal if the blocks are being re-orged, but I am not reflecting that.

From: https://github.com/Great-Hill-Corporation/ethslurp/issues/146

Should handle default function and constructor better

I don't really handle the constructor or the default function correctly in the monitor code. Look for this code:

        if (!func.name.empty())
            functions[functions.getCount()] = func;

If you remove this, it will show a new line in the grabABI tests, but they are not correct.

lastBlock is incorrect

If lastBlock is first picked up from config.toml file do not add one. If lastBlock comes from the lastBlock file or the cacheDisplay function do add a one. Simple, but annoying. Maybe better to always just write lastBlock - 1 to the file or return it from the function

ethslurp: In transactions.cpp parseParams needs to be removed

From https://github.com/Great-Hill-Corporation/ethslurp/issues/130

This code was a very early way to parse functions but it is totally wrong. It has all been subsumed by the monitors, but does have the benefit of not requiring a separate piece of software. In other words remove it, but don't lose the ability to parse a totally arbitrary input data the way ethslurp does. But also don't require a full-fledged monitor program.

In other words--input parsing should happen fully through the ABI if that is the only thing present, but through the parse library if that is what is needed for speed or flexibility. Note that monitors use this code to fill in the [{FUNCTION}] tag.

miniBlock database does not lock the file

If the freshener is running and I try to run speedTest, speedTest hangs because it cannot find the end of file. Freshener should fail if the miniBlock database is in memory, which it is in teh case of loading it.

makeClass config files

Storing the configuration files in a shared folder (~/.makeClass) doesn't work because classes conflict with each other with different implementations. Store the config files in the folders where the code arrives. Two reasons. Won't have to store the path in the file, and two generating source will be next to the code it generates. Right now, generating source is invisible.

On first time parsing an ABI

Store the parsed variable in the input data field. It's easy to generate the input data from the data itself and an ABI, it's hard to generate the parsed data because for every transaction, we have to search through all signatures. Also-- we should add counter to function and sort the function in the ABI by most frequent first thereby lessening search time.

From https://github.com/Great-Hill-Corporation/ethslurp/issues/127

ethslurp: Non-field display field tokens

Like [{NOW}], [{DATE:MONTH}] [{ADDR}] [{HEADER}][{RECORDS}] etc.

Also--these should be able to accept arbitrary internal text such as [Generated on {NOW}.] Perhaps this requires a new class called something like 'Generic'

Now that Slurp is a full fledged class it can take many additional fields for summary:

name
nTransactions
toValue
avgValue
largestValue
smallestValue
totalGasUsed
averageGasPrice
etc.

From https://github.com/Great-Hill-Corporation/ethslurp/issues/23

miniBlocks is not concurrency protected

If you run monitors watch.sh freshen x and then run testall, it will mess up the miniblocks mostly because ti takes so long to read miniblocks, and if it gets rewritten in between, it doesn't know where the end of the file is. Should protect against allowing write if miniblock is in the process of reading.

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.