smartcontractkit / truffle-starter-kit Goto Github PK
View Code? Open in Web Editor NEWAn example smart contract utilizing Chainlink
License: MIT License
An example smart contract utilizing Chainlink
License: MIT License
After unboxing the Truffle Starter kit and installing dependencies with npm, migration of MyContract.sol fails.
.....\ChainlinkTest\node_modules\request\request.js:816 var e = new Error('ESOCKETTIMEDOUT') ^ Error: PollingBlockTracker - encountered an error while attempting to update latest block: Error: ESOCKETTIMEDOUT at ClientRequest.<anonymous> .....\ChainlinkTest\node_modules\request\request.js:816:19) at Object.onceWrapper (node:events:513:28) at ClientRequest.emit (node:events:394:28) at TLSSocket.emitRequestTimeout (node:_http_client:761:9) at Object.onceWrapper (node:events:513:28) at TLSSocket.emit (node:events:406:35) at TLSSocket.Socket._onTimeout (node:net:475:8) at listOnTimeout (node:internal/timers:557:17) at processTimers (node:internal/timers:500:7) at PollingBlockTracker._performSync (C:\Users\rapha\Documents\NFT\ETH201\ChainlinkTest\node_modules\eth-block-tracker\src\polling.js:51:24) at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5)
From https://github.com/smartcontractkit/truffle-starter-kit#deploying-contracts:
"This section of the file is where you define which networks you want to interact with. You can read more about that whole file in the Truffle documentation.."
The link is dead. I assume the link should be this?:
https://trufflesuite.com/docs/truffle/reference/configuration/#networks
Hi team,
I've been struggling for days to be able to install the dependencies for this starter kit.
Whenever I run the "npm install" command right after successful unboxing I get the following error:
`npm ERR! code 128
npm ERR! command failed
npm ERR! command git ls-remote ssh://[email protected]/ethereumjs/ethereumjs-abi.git
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Mariano Collarte\AppData\Local\npm-cache_logs\2021-05-12T01_02_24_897Z-debug.log
`
I've setup the ssh account in my github profile and checked connection. This repository seems to be deprecated so I'm not sure why it is pulling it however the npm install fails and the node_modules folder is not being created.
Any help you can provide would be awesome!
Thanks
When running ./scripts/fund-contract.js
using truffle exec, the transaction is returned to the callback function where an error is supposed to be returned. This means that the script is reporting an error even under successful execution, example:
/chainlink # truffle exec scripts/fund-contract.js --network cldev
Using network 'cldev'.
Funding contract: 0xa8B323695d987DdE23F63e6B4500FBc84Cd3cd4e
0x3d210eb43710fe4d777a08d871bde9f7bf63b95014c346275a1d203693f2afd9
Truffle v5.2.3 (core: 5.2.3)
Node v10.24.0
/chainlink # echo $?
1
Line 20 here: https://github.com/smartcontractkit/box/blob/master/scripts/fund-contract.js#L20 uses the callback function to return a transaction ID, although according to https://www.trufflesuite.com/docs/truffle/getting-started/writing-external-scripts this should be used for error reporting
When trying to run truffle unbox smartcontractkit/box
I have the following error:
Starting unbox...
=================
✔ Preparing to download box
✖ Downloading
Unbox failed!
✖ Downloading
Unbox failed!
Error: Truffle Box at URL https://github.com:smartcontractkit/box-box doesn't exist. If you believe this is an error, please contact Truffle support.
at /usr/lib/node_modules/truffle/build/webpack:/packages/box/dist/lib/utils/unbox.js:42:1
at Generator.throw (<anonymous>)
at rejected (/usr/lib/node_modules/truffle/build/webpack:/packages/box/dist/lib/utils/unbox.js:6:41)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
Truffle v5.3.12 (core: 5.3.12)
Node v16.4.0
Node v16.4.0
Truffle v5.3.12
I was able to unbox other boxes such as react.
We can import from the @chainlink/linktoken instead.
The example provided in the README does not work when deploying to dev / cldev (localhost), as there is no Chainlink node on localhost.
Testing on mainnet is prohibitive expensive.
Updating truffle-config.js
and README.md
to use kovan testnet , as well as adding a note that it will not work on localhost without deploying a Chainlink node to localhost, would help to avoid time consuming efforts by new users.
In fund-contract.js
when running npx truffle exec scripts/fund-contract.js --network live
after successfully migrating(deploying) the default contract MyContract.sol
, the contract will hang at const token = await LinkToken.at(tokenAddress);
due to what is believed to be metamask changes. See the truffle issue for more information.
Set up a new Chainlinked project, you can follow the documentation to do this here
mkdir MyChainlinkedProject
cd MyChainlinkedProject/
truffle unbox smartcontractkit/box
Due to the issue with truffle & metamask (mentioned above) you will have to changed one package in package.json
:
"@truffle/hdwallet-provider": "^1.0.30",
-> "@truffle/hdwallet-provider": "next",
then run:
npm install
Then proceed to set your RPC_URL to interact with the ropsten chain and your MNEMONIC (seed phrase) from your metamask account.
export RPC_URL=asdfasfas
export MNEMONIC='cat dog frog......'
Run the migration script to deploy 'MyContract.sol'
npm run migrate:live
After it is deployed, just run
npx truffle exec scripts/fund-contract.js --network live
After some testing, the output will hang on the fund-contracts file on this line:
const token = await LinkToken.at(tokenAddress);
I was able to get it past this line by adding some pieces of code and a try catch to see the error:
module.exports = async (callback) => {
try {
const mc = await MyContract.deployed();
const tokenAddress = await mc.getChainlinkToken();
LinkToken.setProvider(process.env.RPC_URL);
const token = await LinkToken.at(tokenAddress);
console.log("Funding contract:", mc.address);
const tx = await token.transfer(mc.address, payment, {
from: web3.currentProvider.addresses[0],
});
callback(tx.tx);
} catch (error) {
callback(error);
}
};
And the error we get is:
Funding contract: 0x64738dc4359739c402fE1523Ff96308DDa47ea5C
Error: Returned error: The method eth_sendTransaction does not exist/is not available
at module.exports (/Users/patrick/code/demos/truffle/MyChainlinkedProject/scripts/fund-contract.js:20:28)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Truffle v5.1.32 (core: 5.1.32)
Node v14.5.0
The contract that was deployed during npm run migrate:live
will be funded
The script hangs and never completes.
truffle version
): ("@truffle/hdwallet-provider": "^1.0.36") / ("@truffle/hdwallet-provider": "next")node --version
): v14.5.0npm --version
): 6.14.5Steps:
npm install truffle -g
mkdir myChainlinkProject
cd
myChainlinkProjecttruffle unbox smartcontractkit/box
Error:
Error: Command failed: bash unbox.sh && rm unbox.sh
at checkExecSyncError (child_process.js:640:11)
at Object.execSync (child_process.js:676:15)
at Object.installBoxDependencies (C:\Users\alexa\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\box\dist\lib\utils\unbox.js:136:1)
at Object.setUpBox (C:\Users\alexa\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\box\dist\lib\utils\index.js:66:1)
at C:\Users\alexa\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\box\dist\box.js:183:1
at Generator.next (<anonymous>)
at fulfilled (C:\Users\alexa\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\box\dist\box.js:5:42)
Truffle v5.3.14 (core: 5.3.14)
Node v14.17.0```
Big, bold, tell users not to do it
This repo needs an overhaul
To the Chainlink devrel node
kovan:
oracle: '0xc57b33452b4f7bb189bb5afae9cc4aba1f7a4fd8'
jobId: 'd5270d1c311941d0b08bead21fea7747'
rinkeby:
oracle: '0xc57b33452b4f7bb189bb5afae9cc4aba1f7a4fd8'
jobId: '6b88e0402e5d415eb946e528b8e0c7ba'
Hi
I follow your tutorial to create Truffle project with truffle-starter-kit Truffle, Hardhat, and Defi - Chainlink Hackathon Workshop.
I cannot continue doing any next steps due to Unbox failed as the figure shown below.
My environment are belows.
I'm facing an error when I'm trying to execute fund-contract.js
. I'm not sure if I'm using some incompatible version of Truffle or so. The deployment worked like a charm.
npx truffle exec scripts/fund-contract.js --network kovan
Error:
Funding contract: 0x1123c6967701ab4a86f7781Fa4E3091383314121
Transaction: 0x0e5447b9f367d76a0bc4c6b9683d4e8d8f7e49c28dc4aeac07ed2e11c0e80d91 exited with an error (status 0) after consuming all gas.
Please check that the transaction:
- satisfies all conditions set by Solidity `assert` statements.
- has enough gas to execute the full transaction.
- does not trigger an invalid opcode by other means (ex: accessing an array out of bounds).
#Versions
Truffle v5.3.6 (core: 5.3.6)
Node v14.16.1
Npm v6.14.12
Yarn 1.22.10
MacOS 11.2.1
This is what I see at Etherscan.
Do you have any idea what I'm doing wrong? 🐻 with me 🙂
为什么在本地ganache部署,运行requestAndReadAPI.js 一直显示Sleeping for another 5 seconds...,无法调用成功
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.