Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
4ca23c85
Commit
4ca23c85
authored
Nov 17, 2014
by
Christian
Committed by
chriseth
Jul 22, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New compiler version, optimizer and more complicated example.
parent
ed6f3caf
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
70 additions
and
10 deletions
+70
-10
index.html
index.html
+70
-10
No files found.
index.html
View file @
4ca23c85
...
...
@@ -11,22 +11,29 @@
body
{
padding
:
0px
;
font-size
:
12px
;
color
:
#111111
;
}
#optimizeBox
{
position
:
absolute
;
top
:
30px
;
left
:
720px
;
font-size
:
14px
;
}
#input
{
position
:
absolute
;
top
:
120px
;
left
:
0px
;
width
:
5
00px
;
width
:
7
00px
;
bottom
:
0px
;
font-size
:
15px
;
}
#output
{
position
:
absolute
;
top
:
120px
;
left
:
5
20px
;
right
:
0px
;
left
:
7
20px
;
right
:
1
0px
;
bottom
:
0px
;
font-size
:
1
5
px
;
font-size
:
1
4
px
;
}
</style>
<script
src=
"libs/ace.js"
></script>
...
...
@@ -36,13 +43,65 @@ body {
<body>
<h1>
Solidity realtime compiler
</h1>
Source code on the left, compiled code and AST on the right (or error).
<div
id=
"optimizeBox"
>
<input
id=
"optimize"
type=
"checkbox"
checked=
"checked"
><label
for=
"optimize"
>
optimize
</label>
</div>
<div
id=
"input"
>
contract Ballot {
// Create a new ballot with $(_numProposals) different proposals.
function Ballot(uint8 _numProposals) {
address sender = 0x123; // msg.sender
chairperson = sender;
numProposals = _numProposals;
}
// Give $(voter) the right to vote on this ballot.
// May only be called by $(chairperson).
function giveRightToVote(address voter) {
if (/*msg.sender != chairperson ||*/ voted[voter]) return;
voterWeight[voter] = 1;
}
<div
id=
"input"
>
contract ExampleContract
{
function fun()
{
var x = 2 + 3 - 8 != 9
&&
true == false;
// Delegate your vote to the voter $(to).
function delegate(address to) {
address sender = 0x123; // msg.sender
if (voted[sender]) return;
while (delegations[to] != address(0)
&&
delegations[to] != sender)
to = delegations[to];
if (to == sender) return;
voted[sender] = true;
delegations[sender] = to;
if (voted[to]) voteCounts[votes[to]] += voterWeight[sender];
else voterWeight[to] += voterWeight[sender];
}
// Give a single vote to proposal $(proposal).
function vote(uint8 proposal) {
address sender = 0x123; // msg.sender
if (voted[sender] || proposal >= numProposals) return;
voted[sender] = true;
votes[sender] = proposal;
voteCounts[proposal] += voterWeight[sender];
}
function winningProposal() const returns (uint8 winningProposal) {
uint256 winningVoteCount = 0;
uint8 proposal = 0;
while (proposal
<
numProposals
)
{
if
(
voteCounts
[
proposal
]
>
winningVoteCount) {
winningVoteCount = voteCounts[proposal];
winningProposal = proposal;
}
++proposal;
}
}
address chairperson;
uint8 numProposals;
mapping(address => uint256) voterWeight;
mapping(address => bool) voted;
mapping(address => uint8) votes;
mapping(address => address) delegations;
mapping(uint8 => uint256) voteCounts;
}
</div>
<pre
id=
"output"
></pre>
...
...
@@ -62,11 +121,12 @@ var previousInput = '';
var
outputArea
=
document
.
querySelector
(
'#output'
);
var
onChange
=
function
()
{
var
input
=
editor
.
getValue
();
var
optimize
=
document
.
querySelector
(
'#optimize'
).
checked
;
if
(
input
==
previousInput
)
return
;
previousInput
=
input
;
try
{
outputArea
.
innerHTML
=
compileString
(
input
);
outputArea
.
innerHTML
=
compileString
(
input
,
optimize
);
}
catch
(
exception
)
{
outputArea
.
innerHTML
=
"Uncaught JavaScript Exception:
\
n"
+
exception
;
}
...
...
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