Gav Wood
11 years ago
36 changed files with 581 additions and 261 deletions
@ -0,0 +1,55 @@ |
|||||
|
CURRENT_SOURCE_DIR=$1 |
||||
|
CURRENT_BINARY_DIR=$2 |
||||
|
BUILD_TYPE=$3 |
||||
|
BUILD_PLATFORM=$4 |
||||
|
|
||||
|
echo "Current source dir: $CURRENT_SOURCE_DIR" |
||||
|
echo "Current binary dir: $CURRENT_BINARY_DIR" |
||||
|
echo "Build type: $BUILD_TYPE" |
||||
|
echo "Build platform: $BUILD_PLATFORM" |
||||
|
|
||||
|
if [[ -e "$CURRENT_SOURCE_DIR/BuildInfo.h" ]] |
||||
|
then |
||||
|
echo "Using existing BuildInfo.h" |
||||
|
cp $CURRENT_SOURCE_DIR/BuildInfo.h $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
else |
||||
|
if [[ -e "$CURRENT_SOURCE_DIR/.git" ]] |
||||
|
then |
||||
|
ETH_COMMIT_HASH=$(git --git-dir=$CURRENT_SOURCE_DIR/.git --work-tree=$CURRENT_SOURCE_DIR rev-parse HEAD) |
||||
|
ETH_LOCAL_CHANGES=$(git --git-dir=$CURRENT_SOURCE_DIR/.git --work-tree=$CURRENT_SOURCE_DIR diff --shortstat) |
||||
|
if [[ -z "$ETH_LOCAL_CHANGES" ]] |
||||
|
then |
||||
|
ETH_CLEAN_REPO=1 |
||||
|
else |
||||
|
ETH_CLEAN_REPO=0 |
||||
|
fi |
||||
|
|
||||
|
echo "Commit hash: ${ETH_COMMIT_HASH} (Clean: ${ETH_CLEAN_REPO} - ${ETH_LOCAL_CHANGES})" |
||||
|
else |
||||
|
echo "Unknown repo." |
||||
|
ETH_COMMIT_HASH=0 |
||||
|
ETH_CLEAN_REPO=1 |
||||
|
fi |
||||
|
|
||||
|
echo "// This file was automatically generated by cmake" > $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#pragma once" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_COMMIT_HASH $ETH_COMMIT_HASH" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_CLEAN_REPO $ETH_CLEAN_REPO" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_BUILD_TYPE $BUILD_TYPE" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
echo "#define ETH_BUILD_PLATFORM $BUILD_PLATFORM" >> $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
fi |
||||
|
|
||||
|
if [[ -e "$CURRENT_BINARY_DIR/BuildInfo.h" ]] |
||||
|
then |
||||
|
DIFF=$(diff $CURRENT_BINARY_DIR/BuildInfo.h $CURRENT_BINARY_DIR/BuildInfo.h.tmp) |
||||
|
if [[ -z "$DIFF" ]] |
||||
|
then |
||||
|
rm $CURRENT_BINARY_DIR/BuildInfo.h.tmp |
||||
|
else |
||||
|
mv $CURRENT_BINARY_DIR/BuildInfo.h.tmp $CURRENT_BINARY_DIR/BuildInfo.h |
||||
|
fi |
||||
|
else |
||||
|
mv $CURRENT_BINARY_DIR/BuildInfo.h.tmp $CURRENT_BINARY_DIR/BuildInfo.h |
||||
|
fi |
@ -1,89 +0,0 @@ |
|||||
### UP FOR GRABS |
|
||||
|
|
||||
Tests |
|
||||
- Use standard tests. |
|
||||
|
|
||||
Crypto stuff: |
|
||||
- kFromMessage |
|
||||
- Check all the tweak instructions. |
|
||||
|
|
||||
Network: |
|
||||
- *** Exponential backoff on bad connection. |
|
||||
- *** Handle exception when no network. |
|
||||
- NotInChain will be very bad for new peers - it'll run through until the genesis. |
|
||||
- Check how many it has first. |
|
||||
- Crypto on network - use id as public key? |
|
||||
- Make work with IPv6 |
|
||||
- Peers rated. |
|
||||
- Useful/useless - new blocks/transactions or useful peers? |
|
||||
- Solid communications? |
|
||||
- Strategy for peer suggestion? |
|
||||
|
|
||||
Cleanups & caching |
|
||||
- All caches should flush unused data (I'm looking at you, BlockChain) to avoid memory overload. |
|
||||
- State DB should keep only last few N blocks worth of nodes (except for restore points - configurable, defaults to every 30000th block - all blocks that are restore points should be stored so their stateRoots are known good). |
|
||||
|
|
||||
THREAD-SAFETY |
|
||||
- BlockChain |
|
||||
- TransactionQueue |
|
||||
- State |
|
||||
|
|
||||
General: |
|
||||
- Better logging. |
|
||||
- Colours. |
|
||||
- Move over to new system. |
|
||||
- Remove block chain on protocol change (i.e. store protocol with block chain). |
|
||||
|
|
||||
Robustness |
|
||||
- Remove aborts |
|
||||
- Recover from all exceptions. |
|
||||
- Store version alongside BC DB. |
|
||||
- Better handling of corrupt blocks. |
|
||||
- Kill DB & restart. |
|
||||
|
|
||||
GUI |
|
||||
- Make address/block chain list model-based, JIT populated. |
|
||||
- Make everything else model-based |
|
||||
- Qt/QML class. |
|
||||
- Turn on/off debug channels. |
|
||||
|
|
||||
For PoC3: |
|
||||
- Shared contract acceptence tests. |
|
||||
|
|
||||
|
|
||||
### Marko |
|
||||
|
|
||||
Ubuntu builds |
|
||||
- Raring (branch, local, x64 only :-( ) |
|
||||
- Quantal (branch) (Launchpad) |
|
||||
- Saucy (master) (Launchpad) |
|
||||
|
|
||||
### Alex |
|
||||
|
|
||||
Mac build. |
|
||||
Mac build instructions. |
|
||||
|
|
||||
### Eric |
|
||||
|
|
||||
Windows XC build. |
|
||||
Windows XC build instructions. |
|
||||
|
|
||||
### Tim/Harv |
|
||||
|
|
||||
Windows MSVC build. |
|
||||
Windows MSVC build instructions. |
|
||||
|
|
||||
LATER: |
|
||||
|
|
||||
Trie on DB. |
|
||||
- Move the restore point stuff into block restore points |
|
||||
- i.e. keep all nodes from last 127 blocks with counter, at 128, kill but keep every (60*24*7)th or so i.e. one per week as a restore point. |
|
||||
- maybe allow this to be configured. |
|
||||
|
|
||||
|
|
||||
### TIM |
|
||||
|
|
||||
Stateful Miner class. |
|
||||
|
|
||||
Better Mod-Exp. |
|
||||
|
|
@ -0,0 +1,25 @@ |
|||||
|
|
||||
|
function os.capture(cmd) |
||||
|
local f = io.popen(cmd, 'r') |
||||
|
if (f) then |
||||
|
local s = f:read('*a') |
||||
|
if (f:close()) then |
||||
|
return s |
||||
|
end |
||||
|
end |
||||
|
return nil |
||||
|
end |
||||
|
|
||||
|
hash = (os.capture("git rev-parse HEAD") or "UnknownRevision"):gsub("\n$", "") |
||||
|
clean = ((os.capture("git diff --name-only") or "0"):gsub("\n$", "") == "") and "1" or "0" |
||||
|
|
||||
|
local output = io.open(arg[1], "w") |
||||
|
if (output) then |
||||
|
output:write("// This file was automatically generated by buildinfo.lua\n#pragma once\n\n") |
||||
|
output:write("#define ETH_COMMIT_HASH "..hash.."\n") |
||||
|
output:write("#define ETH_CLEAN_REPO "..clean.."\n") |
||||
|
output:close() |
||||
|
end |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,16 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||
|
<ItemGroup> |
||||
|
<ClCompile Include="..\eth\main.cpp" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Filter Include="Windows"> |
||||
|
<UniqueIdentifier>{ed0eafbf-bbfb-4700-b7c0-9b58049cc681}</UniqueIdentifier> |
||||
|
</Filter> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<CustomBuild Include="BuildInfo.lua"> |
||||
|
<Filter>Windows</Filter> |
||||
|
</CustomBuild> |
||||
|
</ItemGroup> |
||||
|
</Project> |
Loading…
Reference in new issue