ByAUJay
Blockchain Development Outsourcing and Testing Frameworks: How to Keep Quality High
A Practical Playbook for Decision-Makers Outsourcing Blockchain Development
So, when you’re jumping into the whole blockchain scene and thinking about outsourcing your development, it’s super important to know exactly what to ask for and what kind of standards you should be aiming for. Here’s a little guide to help you find your way through those tricky waters.
What to Demand in Contracts
When you're getting ready to write up a contract, just remember to include the basics. It's super important!
- Clear Deliverables: Make sure to lay out exactly what you want from the developers. This means detailing milestones and timelines so everyone’s on the same page.
- Ownership Rights: Let’s make sure it’s crystal clear who holds the rights to the code once it’s complete. You really want to make sure you have complete control over your product.
- Confidentiality Agreements: Make sure to safeguard your ideas and business plans by putting in place some strong NDAs.
- Quality Assurance: It’s super important for the developers to have a solid QA process ready to go. Trust me, you really don’t want to be stuck fixing pesky bugs down the road.
Test Frameworks to Standardize On
Having a solid testing framework in place is super important for keeping quality consistent, no matter where you're working. Let’s dive into what you should keep in mind for each platform! Here’s a handy breakdown to help you out:
- EVM: You might want to check out Truffle or Hardhat for testing your smart contracts. They’re pretty handy tools! Both of them come packed with a ton of great tools for development and testing. If you’re looking to build and test programs on Solana, definitely check out Anchor. It’s a solid option that many developers really like! It makes things easier and gives a nice boost to security.
- Starknet: If you’re diving into Starknet, definitely check out Cairo for your testing needs. It’s a great tool to get you started! It's built just for this architecture, making sure your code runs smoothly and efficiently.
- Cosmos: The Cosmos SDK is packed with handy testing tools that really help you put your modules through their paces. It's designed to make testing a smoother experience!
Wiring CI/CD for Safety and Reliability
Getting a solid CI/CD pipeline up and running is super important if you want to make sure that the code you release is safe, ready for updates, and easy to reproduce later on. Alright, let’s break it down and make sure you nail it!
1. Automated Testing: Every time you push new code, we run tests automatically. It's a great way to catch issues early! This helps us spot any problems before they get too big. 2. Static Analysis Tools: Make sure to check out tools like Solhint or MythX to help you spot any security issues in your code. They’re super handy for keeping your code safe! 3. Deployment Processes: Streamline your deployment process and make it a breeze with tools like GitHub Actions or Jenkins. These options can really help simplify things! This makes it possible to deliver updates all the time while ensuring everything is still easy to verify. 4. Monitoring Tools: It's a good idea to use some monitoring tools to keep track of your deployed applications. They'll help you spot any issues before they become big problems! If you're looking to catch those pesky runtime bugs, tools like Sentry can really come in handy. They've got your back when it comes to spotting issues as they pop up.
If you stick to these tips, you'll really boost your chances of success in the blockchain outsourcing world. This way, the code you get won't just work--it's also going to be safe and dependable.
Just because you’re outsourcing doesn’t mean you’re going to end up with shoddy work. If you pick the right KPIs, use the right tools, and set up some good review points, you can definitely hold outside teams to even higher standards than what you usually see in-house.
Why 2026 outsourcing needs a tighter QA spine
Hey everyone! Just a heads-up--there’s been a pretty big shift in the toolchain. Truffle and Ganache were officially retired on December 20, 2023. It's a big change, so be sure to check out the new alternatives! If your projects haven’t upgraded yet, you're stuck using outdated software that no longer has any support. When you're putting together your RFPs, it’s definitely worth considering including Hardhat and/or Foundry as a starting point. (consensys.io).
Great news! Hardhat 3 has rolled out built-in coverage right from the start. This is super convenient because it gets rid of that annoying plugin hassle that many of us have dealt with. Plus, it makes setting up coverage gating in your CI so much easier. Definitely a win! (hardhat.org).
Nowadays, a lot of teams are starting to rely on Foundry as their favorite EVM testing stack. It's got all the essentials you could ask for--fuzzing, invariant testing, an embedded node (that’s Anvil, by the way), and RPC forking--everything packed together in one convenient place! If you’re on the lookout to hire, don’t forget to check if your candidates really get these features. You want to know they’re comfy with more than just the basics like unit tests, right? (github.com).
What to demand in your SOW and SLAs
Make sure to establish clear and measurable goals that your vendor needs to hit for each pull request and before any deployment.
- Code Safety
- Just a heads up--make sure that the static analysis passes the severity thresholds. Basically, that means we shouldn’t see any high or medium findings from Slither. Make sure to upload the results as a SARIF file for the code scanning. (github.com). For upgradeable contracts, we’ll make sure to double-check the safety of upgrades every time we make a change. We’ll use OpenZeppelin's validate/storage layout check to keep everything in line. (docs.openzeppelin.com).
- Test Depth Alright, here’s the plan: we’re going to blend a few different testing methods. Think unit tests, fuzz tests (try to hit at least 10,000 runs on those key paths), and invariant tests for any stateful systems. Oh, and don't forget to jot down the properties you’re checking for! (learnblockchain.cn). Alright, so when it comes to coverage targets, let’s aim for at least 90% on lines and 80% on branches for our Hardhat/Foundry coverage. And hey, make sure to publish those LCOV artifacts too! (hardhat.org).
- Formal Verification (When It's Really Important). Hey there! So, when we're dealing with protocols that have a really high total value locked (TVL) or if they involve some intricate invariants, it's super important for us to have at least a portion of the rules verified in Certora. Just a little heads-up! Some examples of what we look at include making sure that token conservation is on point and that permission invariants hold true. (docs.certora.com).
- Cross-Chain Behavior Alright, when we're talking about bridging or messaging, let's make sure we have local CCIP or LayerZero simulations set up. We should also have a forked, shared staging network ready for some thorough end-to-end testing. This way, we can ensure everything runs smoothly! (docs.chain.link).
- Reliability Policy We're going to borrow a strategy from the SRE playbook and implement an error budget for our production updates. Basically, if a release pushes us over the limit, we’ll take a step back from rolling out any new features and shift our focus to improving reliability. It's all about keeping things running smoothly! For sure, this should definitely be included in the vendor’s change policy. (sre.google).
The EVM stack that stands up in audits
1) Foundry for speed, depth, and determinism
- Components: So, here’s the scoop. You’ve got Forge, which is great for running tests, doing some fuzzing, and checking out invariants. Then there’s Anvil, your go-to local node. Don’t forget about Cast, the command-line interface that makes your life easier. And last but not least, there’s Chisel, a super handy REPL that you’ll definitely want to keep in your toolkit! Take a look at it over on GitHub!
- Anvil is your best bet for super fast forking and a few handy custom RPC methods designed specifically for those deterministic scenarios. When you're doing your integration tests, don't hesitate to dive into things like impersonation, adjusting balance and time, resets, and changes to the chain ID. Make the most of these tools! If you're looking for more information, you can check it out here. It’s got a ton of useful details!
- You can actually fork real chains to run some pretty realistic stateful tests, just like what they do with Hyperliquid, Monad, or Klaytn.
Just remember to standardize “fork-at-block” so everything can be easily reproduced. It’ll help keep things consistent!
If you want to dive deeper into it, you can check it out here.
Invariant testing is super useful in Forge! Just a heads-up: it’s important for vendors to keep track of the property set and configuration details like runs, depth, and timeouts in the
foundry.tomlfile. This way, you can easily tweak things on a per-test basis whenever you need to. Get the scoop here.
Practical Snippet (Per-Test Config Comments):
Hey there! I’ve got a handy little tip for you today, especially if you’re diving into those per-test config comments. Let’s take a closer look!
# This is a configuration for the user login test
# We're checking if the login function correctly handles valid credentials
def test_user_login():
# Setup test data
username = "test_user"
password = "secure_password"
# Actual test
result = login(username, password)
# Assert expected outcome
assert result == "Login successful", "The user should be able to log in with correct credentials"
Go ahead and tweak this however you see fit for your own tests! Leaving comments to explain what each part of your test does is a smart move! It really helps keep things clear and makes it easier to understand later on.
contract MarketInvariants is Test {
/// forge-config: default.invariant.runs = 2000
/// forge-config: default.invariant.depth = 200
function invariant_totalReservesMatchSum() public {
// assert total reserves equal sum(user balances) ...
}
}
2) Hardhat where TypeScript ergonomics matter
Hey! Have you heard the news about Hardhat 3? It’s pretty exciting because it now has built-in coverage! All you have to do is run “npx hardhat test --coverage,” and you can actually set up your PRs based on the combined coverage for both Solidity and TypeScript. Pretty neat, right? Check it out here.
- Oh, and don't forget to keep the hardhat-gas-reporter turned on by default in your CI for tracking gas economics. It’s super helpful! It’s a fantastic way to keep an eye on gas changes with every commit! On top of that, the reporter is now all set to support Layer 2 networks, complete with some helpful accuracy notes. If you're looking for more details, you can check it out here.
3) Upgrades without foot‑guns
Hey there! Just a quick tip: when you’re working with upgrades, definitely use OpenZeppelin Upgrades in either Hardhat or Foundry. It’s super important to check storage layouts and make sure you stick to safe proxy patterns. Go for options like UUPS, transparent, or beacon--you'll be glad you did! Hey folks, just a quick reminder that vendors need to add layout differences in their pull requests (PRs). Thanks! Take a look at the details right here: (docs.openzeppelin.com).
4) Security analysis should be automated, not “after the fact”
- Static analysis: If you’re looking for a solid option, take a look at Slither. It’s got a ton of detectors and even lets you whip up your own rules if you’re feeling creative. On the other hand, if you want something quick, Aderyn is a great choice. It’s a Rust analyzer that integrates really well with your editor, making your life a lot easier. You can easily integrate both of these tools into your CI pipeline. (github.com).
- Property-based fuzzing: Why not try out Echidna? It's a handy tool for running checks on invariants that rely on some predicates you've defined yourself. You can totally schedule it to run every night or have it kick off whenever there are important changes using the official GitHub Action. It's pretty flexible! (github.com).
- Symbolic execution: Manticore and Mythril are awesome tools for sniffing out those sneaky, complex paths that a regular fuzzer might miss. They really help in digging deeper and catching potential issues you might not catch otherwise. Try using them selectively on your main contracts to really maximize your results. (github.com).
- Symbolic testing: If you’re looking to prove some claims or come up with counterexamples, Halmos is a great option, especially when fuzzing just doesn’t cut it. Just a heads up--make sure you've got at least one Halmos job up and running for any important math or accounting code you’re working on. It’s a good way to keep everything in check! (github.com).
5) Formal verification for the riskiest modules
Certora Prover does a great job with EVM, and guess what? They’re also expanding into other ecosystems! As you're working on your SOW, consider throwing in a "rule budget." For instance, you might say something like, "make sure to verify 8 core rules by alpha." It could really help keep things organized! Oh, and guess what? There's a really useful GitHub Action that lets you submit things in parallel and drop comments on PRs. Super convenient! Take a look at this link: docs.certora.com. You might find it really helpful!
6) Cross‑chain and forked-network testing
With Chainlink Local, you can easily test out CCIP right from your own computer or on different forks. It's a super handy tool for getting a feel for how it all works! It's really useful because it prompts vendors to share their test cases for various failure scenarios, like L2 outages or outdated price feeds, before they actually launch on the mainnet. Check it out here.
LayerZero offers these awesome TestHelper packages that really enhance your Foundry tests. You can quickly whip up several mock endpoints, set up some queues, and see how the ordering and receipt behaviors actually pan out. It’s a pretty straightforward process! If you want to get into the nitty-gritty, check out the details here. It’s worth a look!
Hey, if your team is looking to team up on real estate projects, you should definitely check out Tenderly Virtual TestNets. They’re super handy for collaboration! They’ve got these cool disposable staging networks with fork capabilities, plus some handy "god mode" RPC methods. You can also check out an explorer and enjoy state synchronization. Pretty neat, right? It's just right for front-end and back-end teams that want to collaborate seamlessly on the same staging chain. Learn more here.
Non‑EVM coverage your vendor should prove
Solana (Rust/Anchor)
Hey, when you’re diving into your program scaffolding and tests, don’t forget to leverage Anchor whenever it fits the bill! It can really come in handy. The Anchor CLI’s test runner can easily fire up a local validator for you. But if you're really after speed and consistency, I’d suggest using LiteSVM for testing right in the process, whether you’re coding in Rust or TypeScript. Trust me, it makes a difference! If you want to dive deeper into the details, feel free to check it out here.
LiteSVM is shaping up to be the top pick for fast testing on Solana in 2025-26. It's super easy to get your program up and running! You can send transactions, keep an eye on logs and balances, tweak your compute budgets, and if you’re feeling adventurous, you can even disable signature verification to really test out those logic paths. Want to explore more? Check out their GitHub page right here. You’ll find some cool stuff!
Minimal Rust example (LiteSVM):
Let’s dive into a straightforward example of how to use LiteSVM in Rust. It’s really easy to get started! This will help you dip your toes into the world of machine learning in a really simple way.
extern crate lite_svm;
use lite_svm::{Svm, SvmType};
fn main() {
// Create some toy data
let samples = vec![
vec![1.0, 2.0],
vec![2.0, 3.0],
vec![3.0, 3.0],
vec![5.0, 5.0],
];
let labels = vec![0.0, 0.0, 0.0, 1.0]; // Class labels
// Initialize the SVM
let mut svm = Svm::new(SvmType::C_SVC, 1.0);
// Train the model with our samples and labels
svm.fit(&samples, &labels).unwrap();
// Let's make a prediction
let prediction = svm.predict(&vec![4.0, 4.0]).unwrap();
println!("Prediction for (4.0, 4.0): {}", prediction);
}
Explanation:
First off, let's kick things off by bringing in the LiteSVM library. Alright, so the next step is to whip up a few sample data points along with their labels. Let’s get started! Here, we've got some points that fall into two different categories. Next, we got the SVM up and running by choosing the type C_SVC and setting the cost parameter to 1. 0. Once that's done, we go ahead and train the model with our data.
- And now, it’s time for the fun part! We’re going to make a prediction for that new data point and see what the result looks like. Let’s check it out!
If you're looking to explore LiteSVM a bit more, definitely take a peek at their documentation. It's packed with details and some cool advanced features that you won't want to miss!
use litesvm::LiteSVM;
use solana_sdk::{signature::Keypair, signer::Signer};
#[test]
fn it_credits_interest() {
let mut svm = LiteSVM::default().with_sigverify(false);
let user = Keypair::new();
svm.airdrop(user.pubkey(), 1_000_000_000);
// invoke your program instruction...
// assert state, events, balances...
}
Hey, just a quick note: if your vendor is still caught up in bankrun, it might be time to consider making a change. Bankrun is pretty much a thing of the past now. These days, LiteSVM and more modern toolchains are definitely the way to go! Take a look at this: github.com. It's pretty cool!
Starknet (Cairo)
Hey everyone! How about we get on the same page and start using Starknet Foundry? It's super handy! You can run your tests with snforge and for the RPC, just go with sncast. It’ll make things a lot smoother for all of us!
Don't forget to set up profiles in both Scarb.toml and snfoundry.toml. This way, everything will run smoothly and consistently, whether you’re working on your local machine or using CI. It’ll save you a lot of headaches down the road!
Hey, if you're curious, you can find all the details right here!
Cosmos/ CosmWasm (Rust)
If you're diving into off-chain multi-contract simulations, definitely give cw-multi-test a shot. It’s super fast and dependable, plus you don’t need to set up a full node, which is a major win. It really shines when it comes to handling those complex interactions between contracts. Trust me, it’ll make your life a lot easier!
We'd love for vendors to share their coverage results from cargo-tarpaulin along with their nextest runs. It really helps us all keep track of progress and improvement!
(cosmwasm.cosmos.network).
Polkadot ink! (Rust)
Hey, don’t forget to use ink! off-chain unit tests (#[ink::test]) along with those end-to-end tests that fire up a node in the background. It’s super important!
Hey there! If you're diving into supply-chain assurance, make sure to ask for those cargo-contract verifiable builds when you're setting up your pipeline. It's a crucial step you won't want to miss!
Take a look at the details right here: (use.ink). You'll find everything you need!
CI/CD blueprint you can hand to vendors
Baseline GitHub Actions Workflow (Customize it for Your Repo)
Alright, so here’s a simple GitHub Actions workflow you can play around with and customize to match what you need for your own repository:
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
Key Sections
on: This bit tells you when the workflow is supposed to kick in. So, we're all set to get things rolling whenever there are pushes or pull requests made to themainbranch.jobs: Here, you can lay out the tasks that you want to run. So, in this situation, we're dealing with abuildjob.steps: Here’s where you can dive into the nitty-gritty of what’s actually going to happen. You’ll want to take a look at your code, set up Node.js, grab any necessary dependencies, and then go ahead and run your tests.
Don’t hesitate to tweak anything here to fit your project’s needs!
- Go ahead and set up the toolchain, then dive in and start testing! Have fun with it! Hey, make sure to check out the Foundry jobs. They're using some cool stuff like RPC caching and they're running invariants and fuzz testing too! (github.com). Hey, just a quick reminder about the Hardhat job! Make sure to run it for the coverage and gas reports. It’ll whip up LCOV and markdown artifacts for you. Don’t let it slip your mind! (hardhat.org).
2) Static Analysis and Fuzzing
Hey there! Just a heads up: when you're running the Slither Action, make sure to set the fail-on level to medium or higher. And don’t forget to upload the SARIF file for code scanning when you’re done. Thanks!
Check it out here.
Make sure to use the Echidna Action every night, focusing on a specific set of properties. You can check it out right here.
3) Formal Verification (Where Scoped)
- Go ahead and use the Certora Run Action to send in your rule sets, and don't forget to drop your thoughts in the comments on the pull requests! Feel free to take a look at it here!
4) Cross-chain integration stages
Alright, here's the plan: for each pull request, let's spin up a Tenderly Virtual TestNet. We’ll deploy the most recent artifacts and then go ahead and run those end-to-end UI tests on it. Sounds good? Once the PR is wrapped up, feel free to take down the network. Check it out here.
- Strengthening Supply Chains and Tracking Origins.
- Make sure to set up GitHub Artifact Attestations (that’s the SLSA provenance stuff) for your build outputs. Don't forget to sign and verify those using Sigstore cosign in your CI pipeline! It’s a crucial step, so make sure you include it in your process. Take a look at this: (github.com). You might find it interesting!
Security Alert: Beware of Typosquatted Packages
Be on the lookout for those tricky typosquatted packages, like the sneaky one called “hardhat‑gas‑optimizer.” It’s trying to pass itself off as a legit gas tool, but don’t be fooled! If you're not careful, these can totally mess up your projects!
To keep things safe, it’s a good idea to use lock files and stick to a strict package allowlist. Trust me, it really helps!
If you want to dive deeper into this topic, take a look at this article over on socket.dev. It's got some great insights!
A) DeFi AMM invariants with Foundry + Echidna + Halmos
- Foundry Invariant Suite: This handy tool makes sure everything’s on track by checking stuff like whether the total of all balances equals the total supply. It also looks at whether the product of x and y stays balanced within a certain range, and it ensures there’s no fee drift after a specific number of swaps.
You can run it using deep runs or by adjusting the depth on forks that are set at a particular block. Take a look at this: getfoundry.sh. You might find it interesting! - Echidna: This tool lets you create assertions like “you can’t mint without the proper rights” or “you can’t withdraw more than what’s in the reserves.” It’s pretty handy! This is a great way to make sure your smart contracts stay secure. Check it out on GitHub: this link. You’ll find some pretty cool stuff there!
- Halmos: This tool is awesome for making sure your arithmetic is safe and for spotting those tricky edge cases that can hold up against fuzz testing. You know, like those pesky overflow problems that pop up when you're dealing with extreme price or quantity combos! You can check it out right here: pypi.org.
B) Cross‑chain token flows (CCIP and LayerZero) in local and forked envs
- Chainlink Local: With this feature, you can easily simulate CCIP token transfers and message flows right from your own setup. It’s a great way to test things out in a familiar environment! Once you’ve got that sorted out, head over to a forked Sepolia to line things up with the actual addresses and setup. Take a look at this link: (docs.chain.link). It's worth checking out!
- LayerZero TestHelper: This is really neat! You can easily create several mock endpoints, queue up some packets, and see how they act with ordering and replay when things get congested. It's a great way to get into the nitty-gritty of performance testing! Check out all the details right here: docs.layerzero.network. You'll find everything you need!
- Tenderly VTNets: If you're part of a frontend or backend QA team, you'll love this tool! It allows you to whip up a shared, isolated fork that you can easily reset and debug straight from your web browser. Super convenient, right? If you want to dive deeper, check it out here: tenderly.co.
C) Solana lending program fast‑loop testing (LiteSVM + Anchor)
- LiteSVM: This handy tool lets you run thousands of deposit, borrow, and repay sequences all in one go. It’s super efficient for testing! Plus, you can easily switch your compute budgets around and take a look at logs and account changes - all without needing to start up a full validator. It makes things super convenient! Check it out here!.
So, here’s the deal: Anchor tests are still super important if you want to cover everything from start to finish. That said, you can totally lean on LiteSVM for most of your property testing needs! This really speeds up your feedback loops, so you're talking just seconds instead of wasting a few minutes. Learn more here!.
Metrics that actually reflect outsourced quality
Hey, just a quick reminder to get updates from the vendors on every milestone related to:
- Test Depth We're diving into fuzz runs and seeds right now, and we're also keeping tabs on how many invariant suites we have and how long they’re taking to run. Hey, just a quick reminder to make sure you include LCOV for both line and branch coverage. Also, don't forget to check those gas diff reports against the baseline! Check out more here.
- Safety Bar
- Let’s stay updated on how the Slither findings are coming along. By the way, we've got some Echidna fail sequences for you to check out in the minimized case I've attached. Plus, there are some counterexamples that we discovered using symbolic methods--shoutout to Halmos and Manticore for that! Check out all the details here!
- Upgrade Safety
We've put together a summary of the changes to the OpenZeppelin storage layout, highlighting the differences with each update.
On top of that, we’ve been keeping an eye on proxy admin events during our tests to ensure everything is running smoothly. If you’re looking for more details, you can check it out here. - Reliability Policy We've laid out some straightforward Service Level Objectives (SLOs) for managing incidents right after we roll out new features. Plus, we're keeping an eye on how much of our error budget we're using and tracking our Mean Time to Recovery (MTTR) every month. Hey, quick heads up! If we reach our budget limit, we’ll have to put a freeze on spending. Just wanted to keep you in the loop! Want to dive deeper? Check it out here. It's got some great info!
Vendor evaluation checklist (copy/paste into your RFP)
- EVM Hey, make sure to take a look at Foundry for all things invariants and fuzzing. Also, don’t forget about Anvil for our forking scripts. And if you're working with Hardhat, check out the coverage in version 3 along with those gas reporter deltas. There’s a lot of great stuff to explore! (hardhat.org). We're in the process of bringing OZ Upgrades into our CI workflow and making sure everything checks out. (docs.openzeppelin.com). Hey, just a quick reminder not to overlook Slither and Aderyn for your static analysis needs. And let's not forget, we’ve also got some Echidna fuzz properties in the lineup! Plus, we’re throwing in some selective Halmos and Manticore runs for good measure. It’s going to be a solid mix! (github.com). So, we’ve got plans to set up a Tenderly VTNets or something similar for our staging environment. It’s definitely on the to-do list! (tenderly.co).
- Solana Alright, so we’re getting into some Anchor knowledge and testing things out with LiteSVM, all while keeping an eye on our compute budget. (github.com).
- Starknet/CosmWasm/ink! We've got some snforge/sncast profiles ready to go, plus a bunch of cw-multi-test scenarios lined up as well. Oh, and guess what? We’re diving into some ink! We're running off-chain, end-to-end tests, and working on building verifiable versions. It's pretty exciting stuff! (foundry-rs.github.io).
- CI/CD and provenance Hey everyone! Let’s dive into our Foundry and Hardhat pipelines for a bit. We should also chat about SARIF uploads, GitHub Artifact Attestations, and don’t forget about cosign verification. It’s all important stuff! (github.com).
Final thoughts
If you think about it, outsourcing your blockchain development can be a faster and safer choice than doing everything in-house. What's really important is that you get the right amount of testing done. You should be using the latest frameworks across various chains and make it a point to ask for strong, verifiable proof during your continuous integration process. That tech stack we talked about? It’s not just something nice to have; it’s actually going to be a must-have for any serious vendor by 2026.
Sources and further reading
Hey everyone! Just a heads up--ConsenSys has officially decided to retire Truffle and Ganache. If you're using those tools for your projects, now’s the time to start migrating everything over! Feel free to check out the official post and the archived repositories right here. It's all there for you! Hey there! If you’re diving into Foundry, you can check out all the cool stuff like the documentation and the repository for Forge, Anvil, and invariants right here. Just click this link to get started! Happy exploring! Hey there! If you're looking to dive into using Anvil, you’ll definitely want to check out the fork, reset, and impersonation methods. You can find all the juicy details in the docs right here. Happy coding! Hey there, Hardhat users! If you haven’t checked out the coverage tutorial yet, you definitely should! You can find it right here. It’s packed with some great info you won’t want to miss! Hey there! If you're interested in gas reporting and deltas, you can check out everything you need over on GitHub. It's a great resource! Hey there! Just a quick heads-up--OpenZeppelin Upgrades are all set for both Hardhat and Foundry. Make sure to check them out and validate everything by following the instructions right here. Happy coding! Check out some cool tools for static and dynamic analysis like Slither, Echidna, Manticore, Mythril, Aderyn, and Halmos. They’ve got a lot to offer! You can find all the details over on GitHub. Just check it out here. Hey, if you're curious about the Certora Prover and CI action, make sure to take a look at the official documentation. You can find all the details right here. Happy exploring! Hey there! If you’re diving into Chainlink Local (CCIP) and LayerZero, you can find all the TestHelper info you need right here. Happy coding! Check out Tenderly’s Virtual TestNets for a solid testing experience! You can dive in by clicking here. Happy testing! Hey developers working with Solana! If you haven't already, take a look at Anchor and LiteSVM. You can find all the info you need right here. Happy coding! Hey there! If you're a fan of Cosmos, you can check out the cw-multi-test info right here on their site. Enjoy exploring! Hey there! If you're looking for off-chain and end-to-end testing and verification for ink!, you can check it out here. Happy testing! Oh, and make sure to check out the SRE error budgets and the SLO policy! You can find all the details here. It’s super helpful stuff!
Like what you're reading? Let's build together.
Get a free 30-minute consultation with our engineering team.
Related Posts
ByAUJay
Building 'Private Social Networks' with Onchain Keys
Creating Private Social Networks with Onchain Keys
ByAUJay
Tokenizing Intellectual Property for AI Models: A Simple Guide
## How to Tokenize “Intellectual Property” for AI Models ### Summary: A lot of AI teams struggle to show what their models have been trained on or what licenses they comply with. With the EU AI Act set to kick in by 2026 and new publisher standards like RSL 1.0 making things more transparent, it's becoming more crucial than ever to get this right.
ByAUJay
Creating 'Meme-Utility' Hybrids on Solana: A Simple Guide
## How to Create “Meme‑Utility” Hybrids on Solana Dive into this handy guide on how to blend Solana’s Token‑2022 extensions, Actions/Blinks, Jito bundles, and ZK compression. We’ll show you how to launch a meme coin that’s not just fun but also packs a punch with real utility, slashes distribution costs, and gets you a solid go-to-market strategy.

