Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ad41b86
create new VIP
Jan 5, 2024
8903ece
update warnings
Jan 5, 2024
798ad85
fix typo
Jan 5, 2024
ea5a596
fix case
Jan 5, 2024
03f63c4
fix case
Jan 5, 2024
98aaccb
provide VIP number and update the status page
Jan 5, 2024
0c39fab
use different version number
Jan 8, 2024
2ae62a9
update discussion link
Jan 8, 2024
fab7123
Merge branch 'master' into adopt-erc-standards
Jan 8, 2024
daab9c1
fix md file
Jan 8, 2024
e138021
chore: updates according to Tony's comments
Jan 9, 2024
e7a7f12
Update vips/VIP-181.md
darrenvechain Jan 10, 2024
aebf485
Update vips/VIP-210.md
darrenvechain Jan 10, 2024
3395cb9
Update vips/VIP-210.md
darrenvechain Jan 10, 2024
236b636
Update vips/VIP-240.md
darrenvechain Jan 10, 2024
2e4c201
Update vips/VIP-240.md
darrenvechain Jan 10, 2024
271f4ba
Update vips/VIP-240.md
darrenvechain Jan 10, 2024
5e75a48
merge master
Jan 10, 2024
a13de63
Merge branch 'master' into adopt-erc-standards
Jan 10, 2024
0d5aac8
fix bad merge
Jan 10, 2024
60bf00a
convert VeChain to vechain
Jan 10, 2024
c9a4503
add zh_CN updates"
Jan 10, 2024
3622845
Update vips/VIP-180-zh_CN.md
darrenvechain Jan 11, 2024
8543ca9
Update vips/VIP-181-zh_CN.md
darrenvechain Jan 11, 2024
d6ecc6d
Update vips/VIP-180-zh_CN.md
darrenvechain Jan 11, 2024
90c95d7
Update the-status-page.md
darrenvechain Jan 11, 2024
dcd8da1
Update the-status-page.md
darrenvechain Jan 11, 2024
33d49f8
Update the-status-page.md
darrenvechain Jan 11, 2024
b7df9d9
chore: updates for PR comments
Jan 16, 2024
71c1443
Merge branch 'master' into adopt-erc-standards
Jan 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions the-status-page.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ All Vechain Improvement Proposals
## Final
| No. | Title | Owner | Category | Status | Reviewers |
| ------------------------ | ------------------------------ | ------- | ----------- | ------ | ---- |
| [180](./vips/VIP-180.md) | Fungible Token Standard | VeChain | Application | Final | - |
| [190](./vips/VIP-190.md) | Personal Sign Standard | Totient Labs | Interface | Final | - |
| [191](./vips/VIP-191.md) | Designated Gas Payer | Totient Labs | Core | Final | - |
| [192](./vips/VIP-192.md) | Simple Self-signed Certificate | Qian Bin([email protected]) | Interface | Final | - |
Expand All @@ -15,15 +14,14 @@ All Vechain Improvement Proposals
## Accepted
| No. | Title | Owner | Category | Status | Reviewers |
| ------------------------ | ------------------------------ | ------- | ----------- | ------ | ---- |
| [181](./vips/VIP-181.md) | Non-Fungible Token Standard | VeChain | Application | Accepted | - |
| [230](./vips/VIP-230.md) | Token Recovery | VetMaik ([email protected]) | Information | Accepted | [Antonio Senatore](https://github.com/bacco1977), [Neil Brett](https://github.com/nwbrettski) and [Daithi Hearn](https://github.com/daithihearn) |


## Draft
| No. | Title | Owner | Category | Status | Reviewers |
| ------------------------ | ------------------------------ | ------- | ----------- | ------ | ---- |
| [210](./vips/VIP-210.md) | Semi-Fungible Token(SFT) Standard | VeChain | Application | Draft | - |
| [240](./vips/VIP-240.md) | VET Custodian Contract Standard | Xiqing Chu ([email protected]) | Application | Draft | [Peter Zhou](https://github.com/zzGHzz), [Bin Qian](https://github.com/qianbin), [Darren Kelly](https://github.com/darrenvechain) |
| [241](./vips/VIP-241.md) | ERC Contract Adoption | Darren Kelly ([email protected]) | Application | Draft | |



Expand All @@ -43,3 +41,6 @@ All Vechain Improvement Proposals
| ------------------------ | ------------------------------ | ------- | ----------- | ------ | ---- |
| [193](./vips/VIP-193.md) | Committee-Based POA | Ziheng Zhou ([email protected]) and Zhijie Ren ([email protected]) | Core | Superseded | - |
| [200](./vips/VIP-200.md) | Implementation of SURFACE BFT Protocol | Ziheng Zhou ([email protected]) and Zhijie Ren ([email protected]) | Core | Superseded | - |
| [180](./vips/VIP-180.md) | Fungible Token Standard | VeChain | Application | Superseded | - |
| [181](./vips/VIP-181.md) | Non-Fungible Token Standard | VeChain | Application | Superseded | - |
| [210](./vips/VIP-210.md) | Semi-Fungible Token(SFT) Standard | VeChain | Application | Superseded | - |
10 changes: 8 additions & 2 deletions vips/VIP-180-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@
VIP: 180
Title: Fungible Token Standard
Category: Application
Author: VeChain Foundation
Status: Final
Author: Vechain Foundation
Status: Superseded
CreatedAt: 2018-09-01
---

## ⚠️ 取代 ⚠️

**此标准 (VIP-180) 已被以太坊上的 [ERC20](https://github.com/ethereum/ERCs/blob/master/ERCS/erc-20.md) 标准取代。强烈建议不要开发和使用 VIP-180,建议现有实现迁移到 ERC20。**

有关在 VechainThor 网络上使用 ERC20 作为同质化代币的详细指南,请参阅文档[此处](https://github.com/ethereum/ERCs/blob/master/ERCS/erc-20.md)。

# 概述

VIP180标准协议基于[ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md)的修改,对同质化代币进行规范并提供了转移数字货币的基本能力。
Expand Down
12 changes: 9 additions & 3 deletions vips/VIP-180.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,20 @@
VIP: 180
Title: Fungible Token Standard
Category: Application
Author: VeChain Foundation
Status: Final
Author: Vechain Foundation
Status: Superseded
CreatedAt: 2018-09-01
---

## ⚠️ SUPERSEDED ⚠️

**This standard (VIP-180) has been superseded by the [ERC20](https://github.com/ethereum/ERCs/blob/master/ERCS/erc-20.md) standard on Ethereum. Development and usage of VIP-180 are strongly discouraged, and existing implementations are advised to migrate to ERC20.**

For detailed guidelines on utilizing ERC20 for fungible tokens on the VechainThor Network, please refer to the documentation [here](https://github.com/ethereum/ERCs/blob/master/ERCS/erc-20.md).

# Overview

The VIP-180 Standard is a superset of the [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md). It outlines a set of common APIs that all tokens can follow on the VeChainThor Network to transfer tokens, as well as allow tokens to be approved so they can be spent by another on-chain thrid party safely.
The VIP-180 Standard is a superset of the [ERC20](https://github.com/ethereum/ERCs/blob/master/ERCS/erc-20.md). It outlines a set of common APIs that all tokens can follow on the VechainThor Network to transfer tokens, as well as allow tokens to be approved so they can be spent by another on-chain thrid party safely.

# Specification

Expand Down
10 changes: 8 additions & 2 deletions vips/VIP-181-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@
VIP: 181
Title: Non-fungible Token Standard
Category: Application
Author: VeChain Foundation
Status: Accepted
Author: Vechain Foundation
Status: Superseded
CreatedAt: 2018-09-01
---

## ⚠️ 取代 ⚠️

**此标准 (VIP-181) 已被以太坊上的 [ERC721](https://github.com/ethereum/ercs/blob/master/ERCS/erc-721.md) 标准取代。强烈建议不要继续开发和使用 VIP-181,建议现有实现迁移到 ERC721。**

有关在 VechainThor 网络上使用 ERC721 非同质化代币的详细指南,请参阅[文档](https://github.com/ethereum/ercs/blob/master/ERCS/erc-721.md)。

# 概述

VIP181标准协议是基于[ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md)的修改,对非同质化代币进行规范并提供了转移数字货币的基本能力。
Expand Down
12 changes: 9 additions & 3 deletions vips/VIP-181.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,20 @@
VIP: 181
Title: Non-fungible Token Standard
Category: Application
Author: VeChain Foundation
Status: Accepted
Author: Vechain Foundation
Status: Superseded
CreatedAt: 2018-09-01
---

## ⚠️ SUPERSEDED ⚠️

**This standard (VIP-181) has been superseded in favour of the [ERC721](https://github.com/ethereum/ercs/blob/master/ERCS/erc-721.md) standard on Ethereum. Development and usage of VIP-181 are strongly discouraged, and existing implementations are advised to migrate to ERC721.**

For detailed guidelines on utilizing ERC721 for non-fungible tokens on the VechainThor Network, please refer to the documentation [here](https://github.com/ethereum/ercs/blob/master/ERCS/erc-721.md).

# Overview

The VIP-181 Standard outlines a set of common methods that all NFT tokens can follow on the VeChainThor Network to transfer tokens, as well as allow tokens to be approved so they can be spent by another on-chain thrid party safely.
The VIP-181 Standard outlines a set of common methods that all NFT tokens can follow on the VechainThor Network to transfer tokens, as well as allow tokens to be approved so they can be spent by another on-chain thrid party safely.


# Specification
Expand Down
2 changes: 1 addition & 1 deletion vips/VIP-190.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ CreatedAt: 2019-02-05

# Overview

The below VIP-190 standard outlines an interface for personal sign when using `web3` to sign messages for VeChainThor dApps. This standard is based on Ethereum's [eth_sign](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign) RPC call, and modified to fit Vechain's signature standards.
The below VIP-190 standard outlines an interface for personal sign when using `web3` to sign messages for VechainThor dApps. This standard is based on Ethereum's [eth_sign](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign) RPC call, and modified to fit Vechain's signature standards.

# Motivation

Expand Down
2 changes: 1 addition & 1 deletion vips/VIP-192-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ CreatedAt: 2019-03-12

## 哈希算法

默认哈希算法采用 VeChain 广泛使用的 `blake2b 256-bit` 哈希算法。
默认哈希算法采用 Vechain 广泛使用的 `blake2b 256-bit` 哈希算法。

## 签名算法

Expand Down
2 changes: 1 addition & 1 deletion vips/VIP-192.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ The concept of this proposal does not involve interaction with the blockchain(

## Hashing

Hashing algorithm should use `blake2b 256bit` which is widely used in VeChain.
Hashing algorithm should use `blake2b 256bit` which is widely used in Vechain.

## Signing

Expand Down
14 changes: 7 additions & 7 deletions vips/VIP-201.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ CreatedAt: 2020-09-11

## 1. Introduction

This document specifies a simple standard protocol between two parties who wish to conduct a designated gas paying process described in **[VIP-191](https://github.com/vechain/VIPs/blob/master/vips/VIP-191.md)** on VeChain. Both the sender and the gas payer of the transaction shall adhere to the general rules listed in this document.
This document specifies a simple standard protocol between two parties who wish to conduct a designated gas paying process described in **[VIP-191](https://github.com/vechain/VIPs/blob/master/vips/VIP-191.md)** on Vechain. Both the sender and the gas payer of the transaction shall adhere to the general rules listed in this document.

## 2. Rationale

The fee delegation feature of VeChain has gained wide attention and became adopted solutions for the enterprises to run their applications on VeChain with the emerging of requests for a fast and smoother on-chain transactional experience.
The fee delegation feature of Vechain has gained wide attention and became adopted solutions for the enterprises to run their applications on Vechain with the emerging of requests for a fast and smoother on-chain transactional experience.

While the feature is preliminarily used in VeChain ToolChain, potential has been laid out, for it to be integrated into broader on-chain decentralized applications such as Uniswap, wallets, and online games.
While the feature is preliminarily used in Vechain ToolChain, potential has been laid out, for it to be integrated into broader on-chain decentralized applications such as Uniswap, wallets, and online games.

However, one of the critical challenges shall be addressed before it touches the wider audience is to ensure the interoperability of transaction senders and different delegation services and minimize the effort of switching to a new service provider.

Expand All @@ -25,12 +25,12 @@ This proposal encourages a common interface for developers to implement a fee de
The two parties participating are the transaction sender and the gas payer of the transaction. A simple exchange of information should suffice the process. We denote the sender as *sender endpoint* and the gas payer as *authorization endpoint*.

### 3.1 Sender Endpoint
The sender prepares a raw transaction to be signed by the gas payer. The full transaction body and the origin of the transaction should be disclosed to the authorization endpoint. Upon receiving the response and the signature from the gas payer, the sending endpoint is responsible for relay the transaction to VeChain blockchain.
The sender prepares a raw transaction to be signed by the gas payer. The full transaction body and the origin of the transaction should be disclosed to the authorization endpoint. Upon receiving the response and the signature from the gas payer, the sending endpoint is responsible for relay the transaction to Vechain blockchain.

Summary:
- Sender Endpoint prepares the transaction.
- It requests the delegation signature from the remote server.
- It decides to transmit the assembled transaction to VeChain Blockchain or discard it.
- It decides to transmit the assembled transaction to Vechain Blockchain or discard it.

### 3.2 Authorization Endpoint
The authorization endpoint is an online service to sign delegated transactions. It MAY has a client registration and screening to prevent the abuse of the service. Upon receiving the request from the sender, it inspects the transaction and decides to sign it or reject it. It MUST NOT modify the transaction.
Expand All @@ -44,7 +44,7 @@ Summary:

```
+--------------------+ +-----------------+ +------------------------+
| VeChain Blockchain | | Sender Endpoint | | Authorization Endpoint |
| Vechain Blockchain | | Sender Endpoint | | Authorization Endpoint |
+---------+----------+ +--------+--------+ +-----------+------------+
| | |
| | |
Expand Down Expand Up @@ -166,7 +166,7 @@ Pragma: no-cache
}
```

D) The sender validates the transaction body and the gas payer signature, adds the sender signature, assembles a valid transaction, and transmits it to the VeChain blockchain.
D) The sender validates the transaction body and the gas payer signature, adds the sender signature, assembles a valid transaction, and transmits it to the Vechain blockchain.

## Security Recommendations

Expand Down
12 changes: 9 additions & 3 deletions vips/VIP-210.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
---
VIP: 210
Title: Semi-Fungible Token(SFT) Standard
Author: VeChain Foundation
Author: Vechain Foundation
Category: Application
Status: Draft
Status: Superseded
CreatedAt: 2021-05-11
---

## ⚠️ SUPERSEDED ⚠️

**This standard (VIP-210) has been superseded in favour of the [ERC1155](https://github.com/ethereum/ercs/blob/master/ERCS/erc-1155.md) standard on Ethereum. Development and usage of VIP-210 are strongly discouraged, and existing implementations are advised to migrate to ERC1155.**

For detailed guidelines on utilizing ERC1155 for multi-token standard on the VechainThor Network, please refer to the documentation [here](https://github.com/ethereum/ercs/blob/master/ERCS/erc-1155.md).

## 1. Introduction

> The VIP-210 is equivalent to ERC1155 in the VeChain ecosystem.
> The VIP-210 is equivalent to ERC1155 in the Vechain ecosystem.

The VIP-210 token standard provides a way to make one smart contract govern almost an unlimited number of tokens — technically, 2^256 token types with up to 2^256 copies of each. Additionally, each token is semi-fungible. Unlike VIP-181 non-fungible tokens (NFTs), which can only be owned by one address each, semi-fungible means:

Expand Down
8 changes: 4 additions & 4 deletions vips/VIP-240.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The guidelines presented in this expository material aim to assist developers in

### Due-Token Model

Since the release of the VeChain blockchain's v1.0 whitepaper, two tokens have been in existence: the native token VET and its derivative VTHO. Unlike Ethereum, where transaction gas is paid with ETH, VTHO is utilized for this purpose in VeChain.
Since the release of the Vechain blockchain's v1.0 whitepaper, two tokens have been in existence: the native token VET and its derivative VTHO. Unlike Ethereum, where transaction gas is paid with ETH, VTHO is utilized for this purpose in Vechain.

VTHO is generated automatically for every account with a positive VET balance. The incremental of VTHO is solely depending on two facts: the amount of VET in the account and the duration of time.

Expand Down Expand Up @@ -89,7 +89,7 @@ The library MUST address several key problems:
The basic data container is `User` structure which is stored in a mapping from user address to `User`. `User` is designed with a max length of `uint256`. It is composed of `balance`, `energy` and `lastUpdatedTime` three fields.

To prevent variables overload, following data types are used:
- `uint104` for `balance`, enough to store ALL VET in wei in VeChain.
- `uint104` for `balance`, enough to store ALL VET in wei in Vechain.
- `uint104` for `energy`, enough to store VTHO in wei for the next 100+ years.
- `uint48` for `lastUpdatedTime`, sufficient to store 30,000+ years.

Expand Down Expand Up @@ -119,7 +119,7 @@ contract StakingModel {

Two supporting functions are needed to calculate and update VTHO balance for each user account.

The `calculateVTHO` tells the exact amount of VTHO generated by a given amount of VET . It keeps the same generation rate specified by the VeChain blockchain `((vetAmount * 5) * (t2 - t1)) / (10**9)`.
The `calculateVTHO` tells the exact amount of VTHO generated by a given amount of VET . It keeps the same generation rate specified by the Vechain blockchain `((vetAmount * 5) * (t2 - t1)) / (10**9)`.

The `calculateVTHO` is a `public pure` function. It doesn't modify state.

Expand Down Expand Up @@ -294,4 +294,4 @@ Modern fintech infrastructure, such as UniSwap, heavily relies on WETH as a fund

### (II) VVET Example Project

The audited and running dapp of `StakingModel` is included in `VVET` project created by core VeChain developers. It ensures a fair distribution of VTHO. The source code is at [[github]](https://github.com/vechainlabs/vvet), and the deployed address on-chan is at [[0x45429a2255e7248e57fce99e7239aed3f84b7a53]](https://explore.vechain.org/accounts/0x45429a2255e7248e57fce99e7239aed3f84b7a53/transfer)
The audited and running dapp of `StakingModel` is included in `VVET` project created by core Vechain developers. It ensures a fair distribution of VTHO. The source code is at [[github]](https://github.com/vechainlabs/vvet), and the deployed address on-chan is at [[0x45429a2255e7248e57fce99e7239aed3f84b7a53]](https://explore.vechain.org/accounts/0x45429a2255e7248e57fce99e7239aed3f84b7a53/transfer)
Loading