Smart Contract QA Engineer
Role in brief
Coinmarketcap is hiring a Smart Contract QA Engineer to build automated testing frameworks for oracle smart contracts. This role involves designing and executing security, integration, and stress tests, ensuring the robustness and performance of critical blockchain components. Candidates with experience in Solidity and smart contract testing frameworks, along with a deep understanding of oracle mechanisms and blockchain fundamentals, should apply.
About the role
This role focuses on designing and implementing automated testing frameworks specifically for oracle smart contracts. This includes developing unit, integration, and end-to-end tests to cover various scenarios. A key part of the work involves creating and executing security test cases, particularly for price data feeds, off-chain data retrieval, and multi-party consensus mechanisms, while also simulating abnormal network conditions to perform stress and fault tolerance testing.
The Smart Contract QA Engineer will work closely with the development team, contributing to vulnerability scanning and code audits before smart contract deployment. This collaboration is crucial for identifying and mitigating security risks. The position also requires creating and maintaining detailed test documentation, defect reports, and quality assessment reports to ensure clear communication and tracking of issues.
Success in this position means continuously enhancing testing efficiency by staying current with blockchain testing tools and best practices. This includes verifying the accuracy of oracle node data and conducting performance benchmarking. The ideal candidate will be adept at introducing new testing methodologies and demonstrating a proactive approach to quality assurance in a dynamic blockchain environment.
The salary for this position ranges from $90,000 to $150,000 USD annually.
Skills that matter here
- Solidity: Proficiency in Solidity is required for understanding and testing smart contract logic.
- Hardhat: Experience with Hardhat is necessary for designing and implementing automated testing frameworks.
- Truffle: Familiarity with Truffle is expected for developing and executing smart contract tests.
- Foundry: Knowledge of Foundry is important for utilizing mainstream smart contract testing tools.
- JavaScript: The ability to develop automated testing scripts using JavaScript is a core requirement.
- Python: Developing automated testing scripts using Python or similar languages is part of the role.
Who this role suits
- A person who thrives on identifying potential vulnerabilities and ensuring the integrity of complex systems.
- Someone who enjoys building robust automated testing solutions from the ground up.
- An individual who is meticulous about documentation and reporting, ensuring clarity in technical communication.
- A candidate who is proactive in exploring and adopting new technologies and methodologies in blockchain testing.
From the employer
Core Responsibilities
- Design and implement automated testing frameworks for oracle smart contracts, covering unit tests, integration tests, and end-to-end tests.
- Develop and execute security test cases, focusing on core scenarios such as price data feeds, off-chain data retrieval, multi-party consensus mechanisms, and resistance to Sybil attacks.
- Simulate various on-chain and network abnormal conditions (e.g., high Gas fees, network latency, node failures) to conduct stress testing and fault tolerance testing.
- Work closely with the development team to perform vulnerability scanning and assist in code audits before contract deployment, ensuring no critical security risks.
- Create and maintain clear test documentation, defect reports, and quality assessment reports.
- Participate in verifying the accuracy of oracle node data and conducting performance benchmarking.
- Continuously follow blockchain testing tools and best practices, and introduce new testing methodologies to enhance efficiency.
Requirements
- Bachelor’s degree or higher in Computer Science, Software Engineering, or a related field.
- 3+ years of experience in smart contract testing or development, with proficiency in Solidity and mainstream testing frameworks (e.g., Hardhat, Truffle, Foundry).
- Deep understanding of oracle mechanisms (e.g., Chainlink, Band Protocol) and awareness of common attack vectors (e.g., flash loan attacks, data tampering).
- Familiar with fundamental blockchain concepts (consensus mechanisms, Gas optimization, event logs, etc.) and tools (e.g., Web3.js, Ethers.js).
- Capable of developing automated testing scripts using JavaScript/TypeScript, Python, or similar languages.
- Experience in security testing or code auditing is preferred, with knowledge of common vulnerabilities (e.g., reentrancy, integer overflow) and mitigation methods.
- Strong communication skills and a collaborative mindset, adaptable to agile development environments.
Preferred Qualifications
- Hands-on experience in testing or developing oracle projects, with familiarity in decentralized data sources and node networks.
- Knowledge of zero-knowledge proofs, TEE (Trusted Execution Environment), and other privacy-related oracle technologies.
- Experience with performance testing tools (e.g., K6, Gatling) or on-chain monitoring tool development.
- Open-source contributions to blockchain projects on GitHub or demonstrable testing case portfolios.
Questions about this role
What level of experience is required for this role?
This is a middle-seniority role, requiring 3+ years of experience in smart contract testing or development.
What is the remote work policy for this position?
This is a fully remote position.
What are the key technical skills needed?
Key technical skills include proficiency in Solidity, mainstream testing frameworks like Hardhat, Truffle, or Foundry, and the ability to develop automated testing scripts using JavaScript, TypeScript, or Python. A deep understanding of oracle mechanisms and blockchain fundamentals is also required.