Comments (11)
put a semicolon at the end of the directive, see more.
pragma solidity ^0.4.11;
from solc-js.
I managed to fix the issue by doing the following.
- Open the contract in VS Code
- On bottom right click the current encoding in my case UTF-8
- It opens the option to Save with Encoding click that.
- I then reselected UTF-8
after that I ran the code in a previous comment and it worked.
Thanks for looking into this @chriseth
Vinny
from solc-js.
Neither adding semicolon nor changing the character encoding worked for me. Anything else that I could try? It's very irritating. 😠
from solc-js.
I'm in the same position as @prameshbajra has anyone else found a solution?
from solc-js.
@prameshbajra @Eric-Showers I had the same issue. I suggest you copy your code and paste it on http://remix.ethereum.org. On this site, the common syntax errors are pointed out. In my case, there was a semicolon, which after removing, I was able to compile the code.
Let me know if it works for you.
Thank you.
from solc-js.
@Mehathab4eva My code works fine in remix. I think it was VS Code + Solc Linter integration that made the error. Not completely sure though.
The error is no more. I don't know how.
I was like one fine morning and all errors were gone 🤣. Poof!!
from solc-js.
Can you provide the exact command you used to compile? The error looks like the compiler got an empty file as input.
from solc-js.
let contractsFile = path.join(__dirname, '../contracts/contracts.sol'); var fileContract = fs.readFileSync(contractsFile, { encoding: 'utf-8' }); _**--- fileContract.length = 3532**_ var output = solc.compile(fileContract.toString(), 1);
The output shows the following (abbreviated)
{ errors: [ ':1:1: Error: Expected import directive or contract definition.\npragma solidity ^0.4.10; contract
from solc-js.
Ran into the same error and tried @vinnytheviking solution but it still didn't work. Are there any other workarounds for this?
The code is:
const input = fs.readFileSync('contracts/helloWorld.sol');
console.log(input); // outputs the contract, no issues here
const output = solc.compile(input.toString(), 1);
console.log(output); // returns the error message here
const bytecode = output.contracts['helloWorld'].bytecode;
const abi = JSON.parse(output.contracts['helloWorld'].interface);
from solc-js.
putting a semicolon it worked for me
from solc-js.
@tiredoak I've the same code and it works.
However, for some contracts, the bytecode is different from what is generated from http://remix.ethereum.org like browser compilers.
Thoughts?
from solc-js.
Related Issues (20)
- Downloading binaries from `emscripten-asmjs/` and `emscripten-wasm/` dirs in solc-bin
- Switch to audited and fast version of sha3/keccak HOT 4
- Exception in an import callback leaves the compiler in an inconsistent state, leading to `You shall not have another CompilerStack aside me` error on next compilation HOT 13
- Does solc.loadRemoteVersion() download a new version of solc each time it is run? HOT 2
- Different bytecode when compiling from both solc-js and remix IDE
- cannot uninstall HOT 2
- OSError: [Errno 86] Bad CPU type in executable: HOT 1
- Cannot remap openzeppelin to use when I compile with solc HOT 1
- Release types on npm HOT 3
- Handle standard JSON transalation with `outputSelection` for `=<0.4.19`
- Failed to compile large json inputs HOT 1
- Callback not supported... HOT 2
- Identifier already declared HOT 2
- solc-select is out of date. Please run `solc-select upgrade` HOT 1
- Support for `--metadata` flag HOT 4
- 0.8.23 npm release won't install on Windows due to a stray dependency HOT 3
- findImports fallback on webWorkers not working HOT 5
- loadRemoteVersion is not working with jest test HOT 3
- 'Expected Pragma' error in solc but same code compiles in remix HOT 1
- Improvement: `content` not a key in solidity `input description` in solidity official doc (except under `destructible`) .
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solc-js.