Infvest 开发者文档
构建下一代去中心化应用的完整指南
1000+
开发者
50+
DApps
99.9%
正常运行时间
安装
使用 npm 安装
npm install @infvest/sdk
使用 yarn 安装
yarn add @infvest/sdk
CDN 引入
<script src="https://cdn.infvest.io/sdk/latest/infvest.min.js"></script>
配置
基本配置
import { InfvestClient } from '@infvest/sdk';
const client = new InfvestClient({
network: 'mainnet', // 或 'testnet'
apiKey: 'your-api-key',
endpoint: 'https://api.infvest.io'
});
环境变量配置
INFVEST_API_KEY=your-api-key
INFVEST_NETWORK=mainnet
INFVEST_ENDPOINT=https://api.infvest.io
第一笔交易
创建钱包
const wallet = await client.createWallet();
console.log('钱包地址:', wallet.address);
console.log('私钥:', wallet.privateKey);
发送交易
const transaction = await client.sendTransaction({
from: wallet.address,
to: '0x742d35Cc6634C0532925a3b8D0C9e3e0C0C0e0C0',
value: '1000000000000000000', // 1 INFV
gasLimit: 21000,
gasPrice: '20000000000' // 20 Gwei
});
console.log('交易哈希:', transaction.hash);
区块链基础
什么是区块链?
区块链是一种分布式账本技术,通过密码学方法将交易记录链接成不可篡改的数据链。
区块结构
每个区块包含区块头、交易列表和默克尔树根,确保数据完整性和可验证性。
哈希函数
Infvest 使用 SHA-256 哈希算法确保数据安全性和唯一性。
智能合约
智能合约简介
智能合约是运行在区块链上的自执行程序,能够自动执行预定义的规则和条件。
合约示例
pragma solidity ^0.8.0;
contract SimpleStorage {
uint256 private storedData;
function set(uint256 x) public {
storedData = x;
}
function get() public view returns (uint256) {
return storedData;
}
}
共识机制
Infvest 共识算法
Infvest 采用改进的权益证明(PoS)共识机制,结合委托权益证明(DPoS)的优势。
高效能
每秒可处理数千笔交易
低能耗
相比 PoW 减少 99% 的能源消耗
去中心化
支持数千个验证节点参与
代币经济
INFV 代币
INFV 是 Infvest 生态系统的原生代币,用于支付交易费用、参与治理和获得奖励。
总供应量
1,000,000,000 INFV
初始流通
100,000,000 INFV
通胀率
年化 3-5%
REST API
基础 URL
https://api.infvest.io/v1
认证
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.infvest.io/v1/accounts
常用端点
GET
/accounts/{address}
获取账户信息
POST
/transactions
发送交易
GET
/blocks/{height}
获取区块信息
WebSocket
连接 WebSocket
const ws = new WebSocket('wss://ws.infvest.io/v1');
ws.onopen = function() {
console.log('WebSocket 连接已建立');
// 订阅新区块
ws.send(JSON.stringify({
method: 'subscribe',
params: ['newBlocks']
}));
};
ws.onmessage = function(event) {
const data = JSON.parse(event.data);
console.log('收到消息:', data);
};
订阅事件
newBlocks- 新区块通知newTransactions- 新交易通知accountUpdates- 账户更新
GraphQL
GraphQL 端点
https://api.infvest.io/graphql
查询示例
query GetAccount($address: String!) {
account(address: $address) {
address
balance
nonce
transactions(first: 10) {
edges {
node {
hash
value
timestamp
}
}
}
}
}
JavaScript SDK
安装
npm install @infvest/js-sdk
基本用法
import { InfvestClient } from '@infvest/js-sdk';
const client = new InfvestClient({
apiKey: 'your-api-key',
network: 'mainnet'
});
// 获取账户余额
const balance = await client.getBalance('0x...');
console.log('余额:', balance);
Python SDK
安装
pip install infvest-python
基本用法
from infvest import InfvestClient
client = InfvestClient(
api_key='your-api-key',
network='mainnet'
)
# 获取账户余额
balance = await client.get_balance('0x...')
print(f'余额: {balance}')
Go SDK
安装
go get github.com/infvest/go-sdk
基本用法
package main
import (
"fmt"
"github.com/infvest/go-sdk"
)
func main() {
client := infvest.NewClient(&infvest.Config{
APIKey: "your-api-key",
Network: "mainnet",
})
balance, err := client.GetBalance("0x...")
if err != nil {
panic(err)
}
fmt.Printf("余额: %s\n", balance)
}
Rust SDK
安装
[dependencies]
infvest-sdk = "0.1.0"
基本用法
use infvest_sdk::{InfvestClient, Config};
#[tokio::main]
async fn main() -> Result<(), Box> {
let client = InfvestClient::new(Config {
api_key: "your-api-key".to_string(),
network: "mainnet".to_string(),
});
let balance = client.get_balance("0x...").await?;
println!("余额: {}", balance);
Ok(())
}
快速开始
安装 SDK
使用 npm 或 yarn 安装 Infvest SDK
npm install @infvest/sdk
初始化客户端
配置并连接到 Infvest 网络
import { InfvestClient } from '@infvest/sdk';
const client = new InfvestClient({
network: 'mainnet',
apiKey: 'your-api-key'
});
发送交易
创建并发送您的第一笔交易
const tx = await client.sendTransaction({
to: '0x...',
value: '1000000000000000000', // 1 INF
data: '0x'
});
API 文档
账户管理
GET
/api/v1/accounts/{address}
获取账户信息
POST
/api/v1/accounts
创建新账户
交易
GET
/api/v1/transactions/{hash}
获取交易详情
POST
/api/v1/transactions
发送交易
智能合约
POST
/api/v1/contracts/deploy
部署智能合约
POST
/api/v1/contracts/call
调用合约方法
SDK 支持
JavaScript SDK
适用于 Web 和 Node.js 应用
TypeScript
Promise-based
Tree-shaking
Python SDK
适用于数据分析和后端服务
Async/Await
Type Hints
Pandas 集成
Go SDK
高性能区块链应用开发
并发安全
零依赖
高性能
Rust SDK
系统级区块链开发
内存安全
零成本抽象
WebAssembly
教程与指南
创建您的第一个 DApp
学习如何在 Infvest 上构建简单的去中心化应用
DeFi 协议开发
构建去中心化金融协议的完整指南
跨链桥接实现
实现 Infvest 与其他区块链的资产桥接
代码示例
创建 ERC-20 代币
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
_mint(msg.sender, initialSupply);
}
}