Getting Started
Creating a Project
Upon signup, you will be prompted to install the Github App

Explanation of Required Permissions
Contents (Read-only)
Furnis requires read access to repository contents, commits, branches, downloads, releases, and merges to function effectively. This permission allows Furnis to:
Fetch smart contract code for deployment
Access specific branches or commits for versioned deployments
Read project structure to identify deployable contracts
Sync with your latest code changes automatically
Workflows (Read and write)
Furnis uses this permission to create powerful, automated deployment pipelines:
Set up GitHub Actions for automated testing and deployment
Create custom workflow files tailored to your project's needs
Update workflows as your deployment requirements evolve
Enable event-based triggers for Furnis actions
Members (Read-only)
This permission allows Furnis to implement advanced team-based features:
Set up team-based deployment approvals
Provide organization-wide deployment tracking and analytics
Align Furnis's access controls with your GitHub team structure
Offer role-based permissions within Furnis that mirror your org structure
Email addresses (Read-only)
Furnis uses this permission to enhance user experience and security:
Send critical notifications about deployments to verified email addresses
Provide accurate user identification for audit logs and activity tracking
Enable seamless account management between GitHub and Furnis
By granting these permissions, you're enabling Furnis to provide a comprehensive, secure, and deeply integrated smart contract deployment experience that aligns closely with your existing GitHub workflows and organizational structure.
Import a Github Repo
Upon installing the Github App, you'll be prompted to import one of your Github repositories

New Project Form
Complete the new project form, including any environment variables that you would like to exist across the entire project. You will also be able to input environment variables at the template level.

Creating a Template
Upon project creation, you will be prompted to create your first template.
Once you select a branch, Furnis will search the repository for any Forge scripts, and render them in the Script dropdown
Once you select a script, Furnis will render the script's code in the window, and auto-populate the Contract Name
Give the template a name, and optionally, a description
Select the signer for the transaction and the network on which to execute the script's transactions
Provide any script-specific environment variables

Funding Your Default Signer
Upon registration, Furnis will create a default signer for your account. This is an asymmetric key pair that can be used across all EVM-compatible chains that are supported by Furnis. You can view the address of this signer in the Signers tab, as well as the signer's native token balance on all chains that Furnis supports.
Copy your signer's address
Navigate to the "Signers" tab
Find the "Default Signer" entry
Copy the associated Ethereum address
Fund your signer
Choose a supported network (we recommend starting with Sepolia testnet)
Transfer a small amount of native tokens to your signer's address
For Sepolia testnet tokens, we recommend you request funds from a faucet to an account that has some amount of mainnet ETH, then transferring the Sepolia ETH to your default signer. The reason for this is because faucets often require the receiving account has a mainnet ETH balance.
Verify funding
In Furnis, select "Sepolia" from the network dropdown
Check that the signer's balance reflects the transferred amount

Running Your First Execution
Now that the signer is funded, you are ready to trigger an execution using the ERC20 Token template that Furnis provides to you upon registration..
Preparing Your First Execution
Navigate to the "Executions" page
Select the "ERC20 Token" template from the dropdown menu
Review and adjust configurations:
Network settings
Environment variables
Any other template-specific parameters
When ready, click "execute" and watch the real-time logs generated from the execution of your script from a private Docker container.

Reviewing Execution Results
Once execution is complete, review the rendered metadata:
List of transactions and their types
Gas usage and costs
Contract addresses of deployed contracts
Download generated ABIs
Locate and click the "Download ABIs" button
Save the file for future reference or sharing with team members
Exploring Historical Executions
Navigate to the "Overview" tab
Select a template to view its execution history
Click on any historical execution to view its details and metadata

Next Steps
Explore creating your own templates
Connect your GitHub repository to start managing your own smart contract projects
Invite team members and set up collaborative workflows (coming soon)
Last updated