How to start with TC dev?

Hi guys,
I hope this is an appropriate category in the forum for such questions.
If an experienced SW developer with no solidity/blockchain/smart contracts programming experience (but for example c++/c#…) would want to start in solidity smart contracts stuff, what is the best starting point to setup environment &tooling for the first project, do some tests on it …
How to, for example, install TC in a local environment then play with it a bit and see if one can add some value to the project, debug, check existing bug track issue …

Any ideas, starting points, links … are highly appreciated.

Thank you,

FYI, the web GUI is not open source (only minimized/obfuscated)

1 Like

Hi, which tool is the best to work with this projects? Is VS code (and docker) available? Eclipse? What do u use? Is there any manual for setup?
Thank you a lot!

Hey there, sorry for the lackof a reply regarding your question regarding testing tornado’s smart contract architecture locally.

You can find the core core contracts for v2 anonymity pools here https://github.com/tornadocash/tornado-core

The readme is fairly in-depth and describes how to deploy the contracts locally, run tests and see examples through usage of the cli. To test and deploy contracts locally the repository uses Ganache (local test network). Keep in mind the tooling for testing smart contracts has evolved since contracts were developed over 2 years ago - most projects use Hardhat these days for debugging and tests at the surface level.

The choice is yours what IDE to work with, I personally use Atom. If you have any further questions, don’t be afraid to reach out or pop into the discord.

1 Like

Thanks, are there any support forum for technical questions. I think, I am trying to follow the readme. But at npm run build get following bunch of errors. Seems that files are missing. Where I can get help to bootstrap tc dev environment on my pc?
Best regards,

Error: ENOENT: no such file or directory, open ‘/home/me111a/tornado-core/node_modules/circomlib/circuits/bitify.circom’
at Object.openSync (fs.js:498:3)
at Object.readFileSync (fs.js:394:35)
at /home/me111a/.npm/_npx/24516/lib/node_modules/circom/src/construction_phase.js:1079:28
at iterateAST (/home/me111a/.npm/_npx/24516/lib/node_modules/circom/src/iterateast.js:20:15)
at iterate (/home/me111a/.npm/_npx/24516/lib/node_modules/circom/src/iterateast.js:25:23)
at iterateAST (/home/me111a/.npm/_npx/24516/lib/node_modules/circom/src/iterateast.js:45:9)
at createRefs (/home/me111a/.npm/_npx/24516/lib/node_modules/circom/src/construction_phase.js:1045:5)
at constructionPhase (/home/me111a/.npm/_npx/24516/lib/node_modules/circom/src/construction_phase.js:90:5)
at compile (/home/me111a/.npm/_npx/24516/lib/node_modules/circom/src/compiler.js:71:5)
at run (/home/me111a/.npm/_npx/24516/lib/node_modules/circom/cli.js:119:11)
ENOENT: no such file or directory, open ‘/home/me111a/tornado-core/node_modules/circomlib/circuits/bitify.circom’