Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
a3c8f835
Commit
a3c8f835
authored
Apr 23, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated test coin
parent
aec3e26e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
139 additions
and
84 deletions
+139
-84
ethereum.js
ethereal/assets/ethereum.js
+23
-5
webapp.qml
ethereal/assets/qml/webapp.qml
+91
-67
test.html
ethereal/assets/test.html
+25
-12
No files found.
ethereal/assets/ethereum.js
View file @
a3c8f835
...
@@ -12,17 +12,35 @@ function postData(data, cb) {
...
@@ -12,17 +12,35 @@ function postData(data, cb) {
window
.
eth
=
{
window
.
eth
=
{
prototype
:
Object
(),
prototype
:
Object
(),
send
:
function
(
cb
)
{
// Retrieve block
document
.
getElementById
(
"out"
).
innerHTML
=
"clicked"
;
//
postData
({
message
:
"Hello world"
},
cb
);
// Either supply a number or a string. Type is determent for the lookup method
}
// string - Retrieves the block by looking up the hash
// number - Retrieves the block by looking up the block number
getBlock
:
function
(
numberOrHash
,
cb
)
{
var
func
;
if
(
typeof
numberOrHash
==
"string"
)
{
func
=
"getBlockByHash"
}
else
{
func
=
"getBlockByNumber"
}
postData
({
call
:
func
,
args
:
[
numberOrHash
]},
cb
)
},
// Create transaction
//
// Creates a transaction with the current account
// If no recipient is set, the Ethereum API will see it as a contract creation
createTx
:
function
(
recipient
,
value
,
gas
,
gasPrice
,
data
,
cb
)
{
postData
({
call
:
"createTx"
,
args
:
[
recipient
,
value
,
gas
,
gasPrice
,
data
]},
cb
)
},
}
}
window
.
eth
.
_callbacks
=
{}
window
.
eth
.
_callbacks
=
{}
function
debug
(
/**/
)
{
function
debug
(
/**/
)
{
var
args
=
arguments
;
var
args
=
arguments
;
var
msg
=
""
var
msg
=
""
for
(
var
i
=
0
;
i
<
args
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
args
.
length
;
i
++
){
if
(
typeof
args
[
i
]
==
"object"
)
{
if
(
typeof
args
[
i
]
==
"object"
)
{
msg
+=
" "
+
JSON
.
stringify
(
args
[
i
])
msg
+=
" "
+
JSON
.
stringify
(
args
[
i
])
}
else
{
}
else
{
...
...
ethereal/assets/qml/webapp.qml
View file @
a3c8f835
...
@@ -7,79 +7,103 @@ import QtQuick.Window 2.1;
...
@@ -7,79 +7,103 @@ import QtQuick.Window 2.1;
import
Ethereum
1.0
import
Ethereum
1.0
ApplicationWindow
{
ApplicationWindow
{
id
:
window
id
:
window
title
:
"Webapp"
title
:
"Ethereum"
width
:
900
width
:
900
height
:
600
height
:
600
minimumHeight
:
300
minimumHeight
:
300
property
alias
url
:
webview
.
url
Item
{
property
alias
url
:
webview
.
url
id
:
root
property
alias
webView
:
webview
anchors.fill
:
parent
state
:
"inspectorShown"
WebView
{
Item
{
id
:
webview
objectName
:
"root"
anchors
{
id
:
root
left
:
parent
.
left
anchors.fill
:
parent
right
:
parent
.
right
state
:
"inspectorShown"
bottom
:
sizeGrip
.
top
top
:
parent
.
top
}
onTitleChanged
:
{
window
.
title
=
title
}
experimental.preferences.javascriptEnabled
:
true
experimental.preferences.navigatorQtObjectEnabled
:
true
experimental.preferences.developerExtrasEnabled
:
true
experimental.userScripts
:
[
ui
.
assetPath
(
"ethereum.js"
)]
experimental.onMessageReceived
:
{
console
.
log
(
"[onMessageReceived]: "
,
message
.
data
)
var
data
=
JSON
.
parse
(
message
.
data
)
webview
.
experimental
.
postMessage
(
JSON
.
stringify
({
data
:
{
message
:
data
.
message
},
_seed
:
data
.
_seed
}))
WebView
{
}
objectName
:
"webView"
}
id
:
webview
anchors
{
left
:
parent
.
left
right
:
parent
.
right
bottom
:
sizeGrip
.
top
top
:
parent
.
top
}
Rectangle
{
onTitleChanged
:
{
window
.
title
=
title
}
id
:
sizeGrip
experimental.preferences.javascriptEnabled
:
true
color
:
"gray"
experimental.preferences.navigatorQtObjectEnabled
:
true
visible
:
true
experimental.preferences.developerExtrasEnabled
:
true
height
:
10
experimental.userScripts
:
[
ui
.
assetPath
(
"ethereum.js"
)]
anchors
{
experimental.onMessageReceived
:
{
left
:
root
.
left
console
.
log
(
"[onMessageReceived]: "
,
message
.
data
)
right
:
root
.
right
var
data
=
JSON
.
parse
(
message
.
data
)
}
y
:
Math
.
round
(
root
.
height
*
2
/
3
)
MouseArea
{
switch
(
data
.
call
)
{
anchors.fill
:
parent
case
"getBlockByNumber"
:
drag.target
:
sizeGrip
var
block
=
eth
.
getBlock
(
"b9b56cf6f907fbee21db0cd7cbc0e6fea2fe29503a3943e275c5e467d649cb06"
)
drag.minimumY
:
0
postData
(
data
.
_seed
,
block
)
drag.maximumY
:
root
.
height
break
drag.axis
:
Drag
.
YAxis
case
"getBlockByHash"
:
}
var
block
=
eth
.
getBlock
(
"b9b56cf6f907fbee21db0cd7cbc0e6fea2fe29503a3943e275c5e467d649cb06"
)
}
postData
(
data
.
_seed
,
block
)
break
case
"createTx"
:
if
(
data
.
args
.
length
<
5
)
{
postData
(
data
.
_seed
,
null
)
}
else
{
var
tx
=
eth
.
createTx
(
data
.
args
[
0
],
data
.
args
[
1
],
data
.
args
[
2
],
data
.
args
[
3
],
data
.
args
[
4
])
postData
(
data
.
_seed
,
tx
)
}
}
}
function
postData
(
seed
,
data
)
{
webview
.
experimental
.
postMessage
(
JSON
.
stringify
({
data
:
data
,
_seed
:
seed
}))
}
}
WebView
{
Rectangle
{
id
:
inspector
id
:
sizeGrip
visible
:
true
color
:
"gray"
url
:
webview
.
experimental
.
remoteInspectorUrl
visible
:
true
anchors
{
height
:
10
left
:
root
.
left
anchors
{
right
:
root
.
right
left
:
root
.
left
top
:
sizeGrip
.
bottom
right
:
root
.
right
bottom
:
root
.
bottom
}
}
y
:
Math
.
round
(
root
.
height
*
2
/
3
)
}
states
:
[
MouseArea
{
State
{
anchors.fill
:
parent
name
:
"inspectorShown"
drag.target
:
sizeGrip
PropertyChanges
{
drag.minimumY
:
0
target
:
inspector
drag.maximumY
:
root
.
height
url
:
webview
.
experimental
.
remoteInspectorUrl
drag.axis
:
Drag
.
YAxis
}
}
WebView
{
id
:
inspector
visible
:
true
url
:
webview
.
experimental
.
remoteInspectorUrl
anchors
{
left
:
root
.
left
right
:
root
.
right
top
:
sizeGrip
.
bottom
bottom
:
root
.
bottom
}
}
states
:
[
State
{
name
:
"inspectorShown"
PropertyChanges
{
target
:
inspector
url
:
webview
.
experimental
.
remoteInspectorUrl
}
}
]
}
}
}
]
}
}
}
ethereal/assets/test.html
View file @
a3c8f835
<html>
<html>
<head>
<head>
<title>
Epic Works (TM)
</title>
<title>
jeffcoin
</title>
<body>
<body>
<h1>
It just works!
</h1>
<h1>
Jeff Coin
</h1>
<
p>
Play with me...
</p
>
<
img
src=
"file:///Users/jeffrey/Desktop/iconnew.png"
>
<button
onclick=
"test();"
>
test
</button>
<div
id=
"transactions"
>
<div
id=
"out"
></div>
<input
id=
"addr"
type=
"text"
placeholder=
"Receiver address"
></input><br>
<div
id=
"in"
></div>
<input
id=
"amount"
type=
"text"
placeholder=
"Amount"
></input><br>
<div
id=
"debug"
></div>
<button
onclick=
"createTransaction();"
>
Send Tx
</button>
</div>
<div><button
onclick=
"test();"
>
Tests
</button></div>
<script
type=
"text/javascript"
>
<script
type=
"text/javascript"
>
function
test
()
{
function
createTransaction
()
{
eth
.
send
(
function
(
data
)
{
debug
(
"test"
)
debug
(
data
)
var
addr
=
document
.
querySelector
(
"#addr"
).
value
;
document
.
getElementById
(
"in"
).
innerHTML
=
"and the other way around "
+
data
.
message
;
var
amount
=
document
.
querySelector
(
"#amount"
).
value
;
eth
.
createTx
(
addr
,
amount
,
"100"
,
"250"
,
""
,
function
(
tx
)
{
debug
(
"received tx hash:"
,
tx
)
})
})
}
}
// Any test related actions here please
function
tests
()
{
eth
.
getBlock
(
1
,
function
(
block
)
{
debug
(
"queried block:"
,
block
)
})
}
</script>
</script>
<div
id=
"debug"
style=
"border: 1px solid block"
></div>
</body>
</body>
</html>
</html>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment