good morning!!!!
Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
bor
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Harbor Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
open
bor
Commits
6ca99709
Commit
6ca99709
authored
Apr 25, 2014
by
Jeffrey Wilcke
Browse files
Options
Downloads
Plain Diff
Merge
parents
bbde892d
59a7b130
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
ethereal/assets/test.html
+0
-10
0 additions, 10 deletions
ethereal/assets/test.html
ethereum/config.go
+4
-2
4 additions, 2 deletions
ethereum/config.go
ethereum/ethereum.go
+63
-57
63 additions, 57 deletions
ethereum/ethereum.go
with
67 additions
and
69 deletions
ethereal/assets/test.html
+
0
−
10
View file @
6ca99709
...
@@ -14,13 +14,6 @@ function createTransaction() {
...
@@ -14,13 +14,6 @@ function createTransaction() {
})
})
}
}
// Any test related actions here please
function
tests
()
{
eth
.
getKey
(
function
(
keys
)
{
debug
(
keys
)
})
}
function
init
()
{
function
init
()
{
eth
.
getKey
(
function
(
key
)
{
eth
.
getKey
(
function
(
key
)
{
eth
.
getStorage
(
jefcoinAddr
,
key
,
function
(
storage
)
{
eth
.
getStorage
(
jefcoinAddr
,
key
,
function
(
storage
)
{
...
@@ -55,9 +48,6 @@ input[type="text"] {
...
@@ -55,9 +48,6 @@ input[type="text"] {
<button
onclick=
"createTransaction();"
>
Send Tx
</button>
<button
onclick=
"createTransaction();"
>
Send Tx
</button>
</div>
</div>
<div><button
onclick=
"tests();"
>
Tests
</button></div>
<div
id=
"debug"
style=
"border: 1px solid block"
></div>
<div
id=
"debug"
style=
"border: 1px solid block"
></div>
</body>
</body>
...
...
This diff is collapsed.
Click to expand it.
ethereum/config.go
+
4
−
2
View file @
6ca99709
...
@@ -15,20 +15,22 @@ var GenAddr bool
...
@@ -15,20 +15,22 @@ var GenAddr bool
var
UseSeed
bool
var
UseSeed
bool
var
ImportKey
string
var
ImportKey
string
var
ExportKey
bool
var
ExportKey
bool
var
LogFile
string
//var UseGui bool
var
DataDir
string
var
DataDir
string
var
NonInteractive
bool
func
Init
()
{
func
Init
()
{
flag
.
BoolVar
(
&
StartConsole
,
"c"
,
false
,
"debug and testing console"
)
flag
.
BoolVar
(
&
StartConsole
,
"c"
,
false
,
"debug and testing console"
)
flag
.
BoolVar
(
&
StartMining
,
"m"
,
false
,
"start dagger mining"
)
flag
.
BoolVar
(
&
StartMining
,
"m"
,
false
,
"start dagger mining"
)
flag
.
BoolVar
(
&
ShowGenesis
,
"g"
,
false
,
"prints genesis header and exits"
)
flag
.
BoolVar
(
&
ShowGenesis
,
"g"
,
false
,
"prints genesis header and exits"
)
//flag.BoolVar(&UseGui, "gui", true, "use the gui")
//flag.BoolVar(&UseGui, "gui", true, "use the gui")
flag
.
BoolVar
(
&
NonInteractive
,
"y"
,
false
,
"non-interactive mode (say yes to confirmations)"
)
flag
.
BoolVar
(
&
UseUPnP
,
"upnp"
,
false
,
"enable UPnP support"
)
flag
.
BoolVar
(
&
UseUPnP
,
"upnp"
,
false
,
"enable UPnP support"
)
flag
.
BoolVar
(
&
UseSeed
,
"seed"
,
true
,
"seed peers"
)
flag
.
BoolVar
(
&
UseSeed
,
"seed"
,
true
,
"seed peers"
)
flag
.
BoolVar
(
&
GenAddr
,
"genaddr"
,
false
,
"create a new priv/pub key"
)
flag
.
BoolVar
(
&
GenAddr
,
"genaddr"
,
false
,
"create a new priv/pub key"
)
flag
.
BoolVar
(
&
ExportKey
,
"export"
,
false
,
"export private key"
)
flag
.
BoolVar
(
&
ExportKey
,
"export"
,
false
,
"export private key"
)
flag
.
StringVar
(
&
OutboundPort
,
"p"
,
"30303"
,
"listening port"
)
flag
.
StringVar
(
&
OutboundPort
,
"p"
,
"30303"
,
"listening port"
)
flag
.
StringVar
(
&
LogFile
,
"logfile"
,
""
,
"log file (defaults to standard output)"
)
flag
.
StringVar
(
&
DataDir
,
"dir"
,
".ethereum"
,
"ethereum data directory"
)
flag
.
StringVar
(
&
DataDir
,
"dir"
,
".ethereum"
,
"ethereum data directory"
)
flag
.
StringVar
(
&
ImportKey
,
"import"
,
""
,
"imports the given private key (hex)"
)
flag
.
StringVar
(
&
ImportKey
,
"import"
,
""
,
"imports the given private key (hex)"
)
flag
.
IntVar
(
&
MaxPeer
,
"x"
,
5
,
"maximum desired peers"
)
flag
.
IntVar
(
&
MaxPeer
,
"x"
,
5
,
"maximum desired peers"
)
...
...
This diff is collapsed.
Click to expand it.
ethereum/ethereum.go
+
63
−
57
View file @
6ca99709
...
@@ -17,7 +17,7 @@ import (
...
@@ -17,7 +17,7 @@ import (
const
Debug
=
true
const
Debug
=
true
// Register interrupt handlers so we can stop the ethereum
// Register interrupt handlers so we can stop the ethereum
func
RegisterInterupts
(
s
*
eth
.
Ethereum
)
{
func
RegisterInter
r
upts
(
s
*
eth
.
Ethereum
)
{
// Buffered chan of one is enough
// Buffered chan of one is enough
c
:=
make
(
chan
os
.
Signal
,
1
)
c
:=
make
(
chan
os
.
Signal
,
1
)
// Notify about interrupts for now
// Notify about interrupts for now
...
@@ -25,19 +25,50 @@ func RegisterInterupts(s *eth.Ethereum) {
...
@@ -25,19 +25,50 @@ func RegisterInterupts(s *eth.Ethereum) {
go
func
()
{
go
func
()
{
for
sig
:=
range
c
{
for
sig
:=
range
c
{
fmt
.
Printf
(
"Shutting down (%v) ...
\n
"
,
sig
)
fmt
.
Printf
(
"Shutting down (%v) ...
\n
"
,
sig
)
s
.
Stop
()
s
.
Stop
()
}
}
}()
}()
}
}
func
confirm
(
message
string
)
bool
{
fmt
.
Println
(
message
,
"Are you sure? (y/n)"
)
var
r
string
fmt
.
Scanln
(
&
r
)
for
;
;
fmt
.
Scanln
(
&
r
)
{
if
r
==
"n"
||
r
==
"y"
{
break
}
else
{
fmt
.
Printf
(
"Yes or no?"
,
r
)
}
}
return
r
==
"y"
}
func
main
()
{
func
main
()
{
Init
()
Init
()
runtime
.
GOMAXPROCS
(
runtime
.
NumCPU
())
runtime
.
GOMAXPROCS
(
runtime
.
NumCPU
())
ethchain
.
InitFees
()
// set logger
var
logSys
*
log
.
Logger
flags
:=
log
.
LstdFlags
if
LogFile
!=
""
{
logfile
,
err
:=
os
.
OpenFile
(
LogFile
,
os
.
O_RDWR
|
os
.
O_CREATE
|
os
.
O_APPEND
,
0666
)
if
err
!=
nil
{
panic
(
fmt
.
Sprintf
(
"error opening log file '%s': %v"
,
LogFile
,
err
))
}
defer
logfile
.
Close
()
log
.
SetOutput
(
logfile
)
logSys
=
log
.
New
(
logfile
,
""
,
flags
)
}
else
{
logSys
=
log
.
New
(
os
.
Stdout
,
""
,
flags
)
}
ethutil
.
ReadConfig
(
DataDir
)
ethutil
.
ReadConfig
(
DataDir
)
logger
:=
ethutil
.
Config
.
Log
logger
.
AddLogSystem
(
logSys
)
ethchain
.
InitFees
()
ethutil
.
Config
.
Seed
=
UseSeed
ethutil
.
Config
.
Seed
=
UseSeed
// Instantiated a eth stack
// Instantiated a eth stack
...
@@ -48,67 +79,42 @@ func main() {
...
@@ -48,67 +79,42 @@ func main() {
}
}
ethereum
.
Port
=
OutboundPort
ethereum
.
Port
=
OutboundPort
if
GenAddr
{
// bookkeeping tasks
fmt
.
Println
(
"This action overwrites your old private key. Are you sure? (y/n)"
)
switch
{
case
GenAddr
:
var
r
string
if
NonInteractive
||
confirm
(
"This action overwrites your old private key."
)
{
fmt
.
Scanln
(
&
r
)
for
;
;
fmt
.
Scanln
(
&
r
)
{
if
r
==
"n"
||
r
==
"y"
{
break
}
else
{
fmt
.
Printf
(
"Yes or no?"
,
r
)
}
}
if
r
==
"y"
{
utils
.
CreateKeyPair
(
true
)
utils
.
CreateKeyPair
(
true
)
}
}
os
.
Exit
(
0
)
os
.
Exit
(
0
)
}
else
{
case
len
(
ImportKey
)
>
0
:
if
len
(
ImportKey
)
>
0
{
if
NonInteractive
||
confirm
(
"This action overwrites your old private key."
)
{
fmt
.
Println
(
"This action overwrites your old private key. Are you sure? (y/n)"
)
var
r
string
fmt
.
Scanln
(
&
r
)
for
;
;
fmt
.
Scanln
(
&
r
)
{
if
r
==
"n"
||
r
==
"y"
{
break
}
else
{
fmt
.
Printf
(
"Yes or no?"
,
r
)
}
}
if
r
==
"y"
{
mnemonic
:=
strings
.
Split
(
ImportKey
,
" "
)
mnemonic
:=
strings
.
Split
(
ImportKey
,
" "
)
if
len
(
mnemonic
)
==
24
{
if
len
(
mnemonic
)
==
24
{
fmt
.
Println
(
"Got mnemonic key, importing."
)
logSys
.
Println
(
"Got mnemonic key, importing."
)
key
:=
ethutil
.
MnemonicDecode
(
mnemonic
)
key
:=
ethutil
.
MnemonicDecode
(
mnemonic
)
utils
.
ImportPrivateKey
(
key
)
utils
.
ImportPrivateKey
(
key
)
}
else
if
len
(
mnemonic
)
==
1
{
}
else
if
len
(
mnemonic
)
==
1
{
fmt
.
Println
(
"Got hex key, importing."
)
logSys
.
Println
(
"Got hex key, importing."
)
utils
.
ImportPrivateKey
(
ImportKey
)
utils
.
ImportPrivateKey
(
ImportKey
)
}
else
{
}
else
{
fmt
.
Println
(
"Did not recognise format, exiting."
)
logSys
.
Println
(
"Did not recognise format, exiting."
)
}
}
os
.
Exit
(
0
)
}
}
}
else
{
os
.
Exit
(
0
)
case
len
(
ImportKey
)
==
0
:
utils
.
CreateKeyPair
(
false
)
utils
.
CreateKeyPair
(
false
)
}
fallthrough
}
case
ExportKey
:
if
ExportKey
{
key
:=
ethutil
.
Config
.
Db
.
GetKeys
()[
0
]
key
:=
ethutil
.
Config
.
Db
.
GetKeys
()[
0
]
fmt
.
P
rintf
(
"%x
\n
"
,
key
.
PrivateKey
)
logSys
.
Println
(
fmt
.
Sp
rintf
(
"
prvk:
%x
\n
"
,
key
.
PrivateKey
)
)
os
.
Exit
(
0
)
os
.
Exit
(
0
)
}
case
ShowGenesis
:
logSys
.
Println
(
ethereum
.
BlockChain
()
.
Genesis
())
if
ShowGenesis
{
fmt
.
Println
(
ethereum
.
BlockChain
()
.
Genesis
())
os
.
Exit
(
0
)
os
.
Exit
(
0
)
}
}
log
.
Printf
(
"Starting Ethereum v%s
\n
"
,
ethutil
.
Config
.
Ver
)
// client
logger
.
Infoln
(
fmt
.
Sprintf
(
"Starting Ethereum v%s"
,
ethutil
.
Config
.
Ver
))
// Set the max peers
// Set the max peers
ethereum
.
MaxPeers
=
MaxPeer
ethereum
.
MaxPeers
=
MaxPeer
...
@@ -124,17 +130,17 @@ func main() {
...
@@ -124,17 +130,17 @@ func main() {
go
console
.
Start
()
go
console
.
Start
()
}
}
RegisterInterupts
(
ethereum
)
RegisterInter
r
upts
(
ethereum
)
ethereum
.
Start
()
ethereum
.
Start
()
if
StartMining
{
if
StartMining
{
log
.
Printf
(
"Miner started
\n
"
)
log
ger
.
Infoln
(
"Miner started"
)
// Fake block mining. It broadcasts a new block every 5 seconds
// Fake block mining. It broadcasts a new block every 5 seconds
go
func
()
{
go
func
()
{
if
StartMining
{
if
StartMining
{
log
.
Printf
(
"Miner started
\n
"
)
log
ger
.
Infoln
(
"Miner started"
)
go
func
()
{
go
func
()
{
data
,
_
:=
ethutil
.
Config
.
Db
.
Get
([]
byte
(
"KeyRing"
))
data
,
_
:=
ethutil
.
Config
.
Db
.
Get
([]
byte
(
"KeyRing"
))
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment