Re-introduced Swarm and Swarm http proxy into geth.

This commit is contained in:
Daniel A. Nagy 2015-05-11 17:39:25 +02:00
parent 7aa3ff6ae5
commit 9db8b3df1e
4 changed files with 25 additions and 2 deletions

View file

@ -232,7 +232,7 @@ func (s *dbStore) collectGarbage(ratio float32) {
cutidx := gcListSelect(s.gcArray, 0, gcnt-1, int(float32(gcnt)*ratio))
cutval := s.gcArray[cutidx].value
fmt.Print(gcnt, " ", s.entryCnt, " ")
// fmt.Print(gcnt, " ", s.entryCnt, " ")
// actual gc
for i := 0; i < gcnt; i++ {
@ -246,7 +246,7 @@ func (s *dbStore) collectGarbage(ratio float32) {
}
}
fmt.Println(s.entryCnt)
// fmt.Println(s.entryCnt)
s.db.Put(keyGCPos, s.gcPos)

View file

@ -255,6 +255,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
utils.RPCListenAddrFlag,
utils.RPCPortFlag,
utils.WhisperEnabledFlag,
utils.SwarmEnabledFlag,
utils.VMDebugFlag,
utils.ProtocolVersionFlag,
utils.NetworkIdFlag,

View file

@ -235,6 +235,10 @@ var (
Name: "shh",
Usage: "Enable whisper",
}
SwarmEnabledFlag = cli.BoolFlag{
Name: "bzz",
Usage: "Enable swarm",
}
// ATM the url is left to the user and deployment to
JSpathFlag = cli.StringFlag{
Name: "jspath",
@ -309,6 +313,7 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
NatSpec: ctx.GlobalBool(NatspecEnabledFlag.Name),
NodeKey: GetNodeKey(ctx),
Shh: ctx.GlobalBool(WhisperEnabledFlag.Name),
Bzz: ctx.GlobalBool(SwarmEnabledFlag.Name),
Dial: true,
BootNodes: ctx.GlobalString(BootnodesFlag.Name),
GasPrice: common.String2Big(ctx.GlobalString(GasPriceFlag.Name)),

View file

@ -14,6 +14,7 @@ import (
"github.com/ethereum/ethash"
"github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/bzz"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/core/types"
@ -74,6 +75,7 @@ type Config struct {
NAT nat.Interface
Shh bool
Bzz bool
Dial bool
Etherbase string
@ -280,7 +282,22 @@ func New(config *Config) (*Ethereum, error) {
if err != nil {
return nil, err
}
protocols := []p2p.Protocol{eth.protocolManager.SubProtocol}
if config.Bzz {
netStore := bzz.NewNetStore(config.DataDir + "/bzz")
chunker := &bzz.TreeChunker{}
chunker.Init()
dpa := &bzz.DPA{
Chunker: chunker,
ChunkStore: netStore,
}
dpa.Start()
protocols = append(protocols, bzz.BzzProtocol(netStore))
go bzz.StartHttpServer(dpa)
}
if config.Shh {
protocols = append(protocols, eth.whisper.Protocol())
}