Merge pull request #15 from d11e9/organise-libs
organise libs, add readme and npm package.jsonpull/1/head
commit
e0cf13c740
@ -0,0 +1,18 @@ |
||||
|
||||
#Browser-solidity |
||||
|
||||
Browser solidity is a browser based solidity compiler. To use either visit [https://chriseth.github.io/browser-solidity](https://chriseth.github.io/browser-solidity) or clone/download this repo and open `index.html` in your browser. |
||||
|
||||
#Nodejs usage |
||||
|
||||
To use the solidity compiler via nodejs you can install it via npm |
||||
|
||||
npm install --save solc |
||||
|
||||
And then use it like so: |
||||
|
||||
var solc = require('solc'); |
||||
var input = "contract x { function g() {} }"; |
||||
var output = solc.compile(input, 1); // 1 activates the optimiser |
||||
for (var contractName in output.contracts) |
||||
console.log(contractName + ': ' + output.contracts[contractName].bytecode); |
@ -0,0 +1,11 @@ |
||||
|
||||
var soljson = require('./bin/soljson-latest.js'); |
||||
|
||||
compileJSON = soljson.cwrap("compileJSON", "string", ["string", "number"]); |
||||
|
||||
module.exports = { |
||||
compile: function(input, optimise){ |
||||
return JSON.parse( compileJSON(input, optimise) ); |
||||
}, |
||||
version: soljson.cwrap("version", "string", []) |
||||
} |
@ -0,0 +1,24 @@ |
||||
{ |
||||
"name": "solc", |
||||
"version": "0.1.3-2", |
||||
"description": "Solidity compiler", |
||||
"main": "index.js", |
||||
"scripts": { |
||||
"test": "echo \"Error: no test specified\" && exit 1" |
||||
}, |
||||
"repository": { |
||||
"type": "git", |
||||
"url": "git+https://github.com/chriseth/browser-solidity.git" |
||||
}, |
||||
"keywords": [ |
||||
"ethereum", |
||||
"solidity", |
||||
"compiler" |
||||
], |
||||
"author": "chriseth", |
||||
"license": "MIT", |
||||
"bugs": { |
||||
"url": "https://github.com/chriseth/browser-solidity/issues" |
||||
}, |
||||
"homepage": "https://github.com/chriseth/browser-solidity#readme" |
||||
} |
@ -0,0 +1,204 @@ |
||||
body { |
||||
padding: 0px; |
||||
font-size: 12px; |
||||
color: #111111; |
||||
} |
||||
#editor { |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0px; |
||||
width: auto; |
||||
bottom: 0px; |
||||
right: 37em; |
||||
|
||||
} |
||||
#input { |
||||
font-size: 15px; |
||||
position: absolute; |
||||
top: 0; |
||||
left: 0; |
||||
right: 0; |
||||
bottom: 0; |
||||
min-width: 20vw; |
||||
} |
||||
|
||||
#righthand-panel { |
||||
position: absolute; |
||||
top: 0; |
||||
width: 37em; |
||||
max-width: 80vw; |
||||
right: 0; |
||||
bottom: 0px; |
||||
overflow: auto; |
||||
border-left: 1px dotted black; |
||||
box-sizing: border-box; |
||||
} |
||||
|
||||
#output { |
||||
border-top: 1px dotted black; |
||||
display: block; |
||||
} |
||||
|
||||
#header { |
||||
font-size: 14px; |
||||
padding: 1em; |
||||
font-size: 12px; |
||||
} |
||||
|
||||
#header h1 { |
||||
margin-top: 0; |
||||
} |
||||
|
||||
#header .info { clear: left; } |
||||
|
||||
#header #solIcon { |
||||
float: left; |
||||
height: 5em; |
||||
} |
||||
|
||||
.col1 { |
||||
width: 30%; |
||||
float: left; |
||||
} |
||||
.col2 { |
||||
width: 70%; |
||||
float: left; |
||||
} |
||||
|
||||
.row { |
||||
overflow: auto; |
||||
} |
||||
.gethDeployText { |
||||
border-color: #bebebe; |
||||
height: 2.5em; |
||||
width: 100%; |
||||
display: block; |
||||
} |
||||
|
||||
.contractInstance { |
||||
background-color: #ccc; |
||||
margin-bottom: 1em; |
||||
padding: 0.6em; |
||||
} |
||||
|
||||
.contractInstance.hide > *:not(.title) { |
||||
display: none; |
||||
} |
||||
|
||||
|
||||
.contractInstance .contractProperty input, |
||||
.contractInstance .contractProperty button { |
||||
text-align: left; |
||||
padding: 0.3em; |
||||
width: 50%; |
||||
margin: 0; |
||||
} |
||||
.contractOutput .contractInstance .contractProperty { |
||||
margin-bottom: 0; |
||||
} |
||||
.contractOutput .contractInstance .contractProperty .output { |
||||
padding: 0.4em; |
||||
background-color: #333; |
||||
color: white; |
||||
margin-bottom: 1em; |
||||
display: block; |
||||
} |
||||
.contractInstance .contractProperty .output:empty { display: none; } |
||||
|
||||
.contractOutput { |
||||
border-bottom: 1px dotted black; |
||||
padding: 0.6em; |
||||
box-sizing: border-box; |
||||
} |
||||
.contractOutput .contractProperty { |
||||
margin-bottom: 0.6em; |
||||
} |
||||
.contractOutput .contractProperty .output { |
||||
display: inline; |
||||
} |
||||
|
||||
|
||||
.contractOutput .body { |
||||
margin-top: 10px; |
||||
} |
||||
|
||||
.contractOutput.hide { |
||||
background-color: #4C4C67; |
||||
color: white; |
||||
} |
||||
|
||||
.contractOutput.hide > *:not(.title) { |
||||
display: none; |
||||
} |
||||
|
||||
.title { |
||||
margin: 0; |
||||
cursor: pointer; |
||||
font-family: monospace; |
||||
font-weight: bold; |
||||
} |
||||
|
||||
.title:before { |
||||
content: "\25BC"; |
||||
opacity: 0.5; |
||||
margin-right: 0.4em; |
||||
font-size: 10px; |
||||
} |
||||
|
||||
.hide > .title:before { |
||||
content: "\25B6"; |
||||
} |
||||
|
||||
.contractOutput > .title { |
||||
border-bottom: #4C4C67; |
||||
} |
||||
|
||||
|
||||
.title .size { |
||||
font-weight: normal; |
||||
float: right; |
||||
} |
||||
|
||||
.solError { |
||||
position: absolute; |
||||
background-color: rgba(255, 0, 0, 0.2); |
||||
z-index:40; |
||||
} |
||||
|
||||
.error { |
||||
background-color: rgba(255, 0, 0, 0.5); |
||||
border-radius: 0; |
||||
word-wrap: break-word; |
||||
border: 1px solid #D00909; |
||||
} |
||||
|
||||
#ghostbar { |
||||
width: 1px; |
||||
background-color: red; |
||||
opacity: 0.5; |
||||
position: absolute; |
||||
cursor: col-resize; |
||||
z-index: 9999; |
||||
top: 0; |
||||
bottom: 0; |
||||
} |
||||
|
||||
#dragbar{ |
||||
background-color: transparent; |
||||
position: absolute; |
||||
width: 5px; |
||||
left: 0; |
||||
top: 0; |
||||
bottom: 0; |
||||
cursor: col-resize; |
||||
z-index: 999; |
||||
} |
||||
|
||||
|
||||
input[readonly] { |
||||
padding: .4em; |
||||
border: 1px solid #ccc; |
||||
box-sizing: border-box; |
||||
display: block; |
||||
width: 100%; |
||||
} |
Loading…
Reference in new issue