You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.
I'm trying to integrate support for Vyper smart contract programming language into Truffle's suite.
I've created this repo https://github.com/ltfschoen/vyper-test that includes a script https://github.com/ltfschoen/vyper-test/blob/master/scripts/main.py and instructions in the README.md. I've written it in the latest Web3.py 4.1.0 that allows you to compile Vyper smart contracts, and I'm using Web3.py to connect to either a private Geth Node using IPC provider, or to connect to Truffle's in-built blockchain with truffle develop --log by using HTTP provider with port 9545, and then it deploys the smart contract to the blockchain. If I use Truffle's in-built blockchain it's mined automatically, but if I used the Geth Node I have to manually use Geth JavaScript Console to mine the transaction of the deployed contract miner.start(1) before it returns the transaction receipt containing the address where it was deployed so I can call functions and interact with it.
What's missing is the ability to to deploy the contract to Ganache CLI.
I thought it would be as simple as starting Ganache CLI with the following, and that it would be picked up by the HTTP provider on port 9545 the same way that Truffle Develop successfully does in the script here on Line 19 https://github.com/ltfschoen/vyper-test/blob/master/scripts/main.py#L19, as I've specified the port 9545 in the flags:
I asked about this on gitter: [ ] - NO, because there's too much content and I don't want to spam the group
Expected Behavior
I expect a Ganache CLI blockchain that's running a HTTP provider on port 9545 to not fail with the errors shown above. I expect it to process the deployment successfully the same way that Truffle Develop processes the requests that I deploy with HTTP provider on port 9545
Current Behavior
See the current behaviour summarised in the "Summary of Issue" section above
Possible Solution
Ideally Ganache CLI would process the deployment successfully the same way that Truffle Develop does. Ultimately my goal is to update the Truffle CLI commands to support compiling, migrating/deploying Vyper instead of just Solidity.
Steps to Reproduce (for bugs)
Read the "Summary of Issue" section included at the top of this Issue
Follow these setup instructions in my repo https://github.com/ltfschoen/vyper-test#chapter-0---setup-without-docker- install PyEnv and switch to Python version 3.6.2 to install the Vyper language, then clone my repo, install all the necessary dependencies, check that you can compile the Vyper contract included in my repo, then use NPM to install Truffle, run Truffle Develop built-in blockchain, and then run my main.py script to deploy and interact with the contract
Context
Truffle would be the perfect tool to deploy both Solidity and Vyper smart contracts.
The Vyper team are meeting on the 23 April 2018 and we'd like this to be part of the agenda. vyperlang/vyper#788
Your Environment
Version used:
Ganache CLI
$ ganache-cli version
Ganache CLI v6.1.0 (ganache-core: 2.1.0)
Version of Truffle/Remix/Other tools used:
Truffle version
$ truffle version
Truffle v4.1.7 (core: 4.1.7)
Solidity v0.4.23 (solc-js)
Summary of Issue
I'm trying to integrate support for Vyper smart contract programming language into Truffle's suite.
I've created this repo https://github.com/ltfschoen/vyper-test that includes a script https://github.com/ltfschoen/vyper-test/blob/master/scripts/main.py and instructions in the README.md. I've written it in the latest Web3.py 4.1.0 that allows you to compile Vyper smart contracts, and I'm using Web3.py to connect to either a private Geth Node using IPC provider, or to connect to Truffle's in-built blockchain with
truffle develop --log
by using HTTP provider with port 9545, and then it deploys the smart contract to the blockchain. If I use Truffle's in-built blockchain it's mined automatically, but if I used the Geth Node I have to manually use Geth JavaScript Console to mine the transaction of the deployed contractminer.start(1)
before it returns the transaction receipt containing the address where it was deployed so I can call functions and interact with it.What's missing is the ability to to deploy the contract to Ganache CLI.
I thought it would be as simple as starting Ganache CLI with the following, and that it would be picked up by the HTTP provider on port 9545 the same way that Truffle Develop successfully does in the script here on Line 19 https://github.com/ltfschoen/vyper-test/blob/master/scripts/main.py#L19, as I've specified the port 9545 in the flags:
However, it only outputs up to Line 89 https://github.com/ltfschoen/vyper-test/blob/master/scripts/main.py#L89 and then it hangs. It never outputs the accounts on on Line 96 or Line 100. Then after about 30 seconds shows errors as shown below:
Whereas if I'm running
truffle develop --log
instead using HTTP on port 9545 or the Geth Node with mining activated, it returns:Expected Behavior
I expect a Ganache CLI blockchain that's running a HTTP provider on port 9545 to not fail with the errors shown above. I expect it to process the deployment successfully the same way that Truffle Develop processes the requests that I deploy with HTTP provider on port 9545
Current Behavior
See the current behaviour summarised in the "Summary of Issue" section above
Possible Solution
Ideally Ganache CLI would process the deployment successfully the same way that Truffle Develop does. Ultimately my goal is to update the Truffle CLI commands to support compiling, migrating/deploying Vyper instead of just Solidity.
Steps to Reproduce (for bugs)
Context
Truffle would be the perfect tool to deploy both Solidity and Vyper smart contracts.
The Vyper team are meeting on the 23 April 2018 and we'd like this to be part of the agenda. vyperlang/vyper#788
Your Environment
Python 3.6.2
Vyper version 0.0.4
NodeJS Version: [ ] 6.x, [ ] 7.x (unsupported), [ ] 8.x, [X] 9.x
Operating System and version (include distro if Linux): macOS 10.12.6
Link to your project or repro gist: https://github.com/ltfschoen/vyper-test
Commit hash to use with above link for reproduction: N/A
I intend to submit a pull request to fix this issue: [X] (if only I could figure out how to fix it....)
The text was updated successfully, but these errors were encountered: