code: func RandomG2(r io.Reader) (*big.Int, *G2, error) {
  	var k *big.Int
  	var err error
  
  	for {
  		k, err = rand.Int(r, Order)
  		if err != nil {
  			return nil, nil, err
  		}
  		if k.Sign() > 0 {
  			break
  		}
  	}
  
  	return k, new(G2).ScalarBaseMult(k), nil
  }
docs: // RandomG1 returns x and g₂ˣ where x is a random, non-zero number read from r.